; ModuleID = 'ios_state_unit_test.cpp'
target datalayout = "e-p:32:32:32-i1:8:8-i8:8:8-i16:16:16-i32:32:32-i64:32:64-f32:32:32-f64:32:64-v64:64:64-v128:128:128-a0:0:64-f80:32:32-n8:16:32-S128"
target triple = "i386-pc-linux-gnu"

%"class.std::ios_base::Init" = type { i8 }
%"class.boost::unit_test::unit_test_log_t" = type { %"class.boost::unit_test::test_observer" }
%"class.boost::unit_test::test_observer" = type { i32 (...)** }
%"class.std::basic_ostream" = type { i32 (...)**, %"class.std::basic_ios" }
%"class.std::basic_ios" = type { %"class.std::ios_base", %"class.std::basic_ostream"*, i8, i8, %"class.std::basic_streambuf"*, %"class.std::ctype"*, %"class.std::num_put"*, %"class.std::num_get"* }
%"class.std::ios_base" = type { i32 (...)**, i32, i32, i32, i32, i32, %"struct.std::ios_base::_Callback_list"*, %"struct.std::ios_base::_Words", [8 x %"struct.std::ios_base::_Words"], i32, %"struct.std::ios_base::_Words"*, %"class.std::locale" }
%"struct.std::ios_base::_Callback_list" = type { %"struct.std::ios_base::_Callback_list"*, void (i32, %"class.std::ios_base"*, i32)*, i32, i32 }
%"struct.std::ios_base::_Words" = type { i8*, i32 }
%"class.std::locale" = type { %"class.std::locale::_Impl"* }
%"class.std::locale::_Impl" = type { i32, %"class.std::locale::facet"**, i32, %"class.std::locale::facet"**, i8** }
%"class.std::locale::facet" = type { i32 (...)**, i32 }
%"class.std::basic_streambuf" = type { i32 (...)**, i8*, i8*, i8*, i8*, i8*, i8*, %"class.std::locale" }
%"class.std::ctype" = type { %"class.std::locale::facet", %struct.__locale_struct*, i8, i32*, i32*, i16*, i8, [256 x i8], [256 x i8], i8 }
%struct.__locale_struct = type { [13 x %struct.__locale_data*], i16*, i32*, i32*, [13 x i8*] }
%struct.__locale_data = type opaque
%"class.std::num_put" = type { %"class.std::locale::facet" }
%"class.std::num_get" = type { %"class.std::locale::facet" }
%"class.std::locale::id" = type { i32 }
%"class.boost::unit_test::lazy_ostream" = type { i32 (...)**, i8 }
%"class.std::basic_stringstream" = type { %"class.std::basic_iostream.base", %"class.std::basic_stringbuf", %"class.std::basic_ios" }
%"class.std::basic_iostream.base" = type { %"class.std::basic_istream.base", %"class.std::basic_ostream.base" }
%"class.std::basic_istream.base" = type { i32 (...)**, i32 }
%"class.std::basic_ostream.base" = type { i32 (...)** }
%"class.std::basic_stringbuf" = type { %"class.std::basic_streambuf", i32, %"class.std::basic_string" }
%"class.std::basic_string" = type { %"struct.std::basic_string<char, std::char_traits<char>, std::allocator<char> >::_Alloc_hider" }
%"struct.std::basic_string<char, std::char_traits<char>, std::allocator<char> >::_Alloc_hider" = type { i8* }
%"class.boost::unit_test::basic_cstring" = type { i8*, i8* }
%"struct.boost::test_tools::tt_detail::equal_impl_frwd" = type { i8 }
%"class.boost::unit_test::lazy_ostream_impl" = type { %"class.boost::unit_test::lazy_ostream", %"class.boost::unit_test::lazy_ostream"*, [1 x i8]* }
%"class.boost::io::ios_flags_saver" = type { %"class.std::ios_base"*, i32 }
%"struct.std::_Setiosflags" = type { i32 }
%"class.boost::test_tools::predicate_result" = type { %"class.boost::test_tools::predicate_result::readonly_property62", %"class.boost::shared_ptr" }
%"class.boost::test_tools::predicate_result::readonly_property62" = type { %"class.boost::unit_test::readonly_property" }
%"class.boost::unit_test::readonly_property" = type { %"class.boost::unit_test::class_property" }
%"class.boost::unit_test::class_property" = type { i8 }
%"class.boost::shared_ptr" = type { %"class.boost::basic_wrap_stringstream"*, %"class.boost::detail::shared_count" }
%"class.boost::basic_wrap_stringstream" = type { %"class.std::basic_ostringstream", %"class.std::basic_string" }
%"class.std::basic_ostringstream" = type { %"class.std::basic_ostream.base", %"class.std::basic_stringbuf", %"class.std::basic_ios" }
%"class.boost::detail::shared_count" = type { %"class.boost::detail::sp_counted_base"* }
%"class.boost::detail::sp_counted_base" = type { i32 (...)**, i32, i32 }
%"class.boost::unit_test::lazy_ostream_impl.48" = type { %"class.boost::unit_test::lazy_ostream", %"class.boost::unit_test::lazy_ostream"*, %"struct.boost::test_tools::tt_detail::print_helper_t.49"* }
%"struct.boost::test_tools::tt_detail::print_helper_t.49" = type { i32* }
%"class.boost::io::ios_precision_saver" = type { %"class.std::ios_base"*, i32 }
%"struct.std::_Setprecision" = type { i32 }
%"class.boost::unit_test::lazy_ostream_impl.33" = type { %"class.boost::unit_test::lazy_ostream", %"class.boost::unit_test::lazy_ostream"*, %"struct.boost::test_tools::tt_detail::print_helper_t.34"* }
%"struct.boost::test_tools::tt_detail::print_helper_t.34" = type { i32* }
%"class.boost::io::ios_width_saver" = type { %"class.std::ios_base"*, i32 }
%"struct.std::_Setw" = type { i32 }
%"class.boost::unit_test::lazy_ostream_impl.0" = type { %"class.boost::unit_test::lazy_ostream", %"class.boost::unit_test::lazy_ostream"*, %"class.boost::unit_test::basic_cstring"* }
%"class.boost::io::basic_ios_iostate_saver" = type { %"class.std::basic_ios"*, i32 }
%"class.std::basic_istream" = type { i32 (...)**, i32, %"class.std::basic_ios" }
%"class.boost::unit_test::lazy_ostream_impl.45" = type { %"class.boost::unit_test::lazy_ostream", %"class.boost::unit_test::lazy_ostream"*, %"struct.boost::test_tools::tt_detail::print_helper_t.46"* }
%"struct.boost::test_tools::tt_detail::print_helper_t.46" = type { i32* }
%"class.boost::io::basic_ios_exception_saver" = type { %"class.std::basic_ios"*, i32 }
%"class.boost::unit_test::lazy_ostream_impl.1" = type { %"class.boost::unit_test::lazy_ostream", %"class.boost::unit_test::lazy_ostream"*, [45 x i8]* }
%"class.std::ios_base::failure" = type { %"class.std::exception", %"class.std::basic_string" }
%"class.std::exception" = type { i32 (...)** }
%"class.boost::unit_test::lazy_ostream_impl.2" = type { %"class.boost::unit_test::lazy_ostream", %"class.boost::unit_test::lazy_ostream"*, [43 x i8]* }
%"class.boost::unit_test::lazy_ostream_impl.3" = type { %"class.boost::unit_test::lazy_ostream", %"class.boost::unit_test::lazy_ostream"*, [32 x i8]* }
%"class.boost::unit_test::lazy_ostream_impl.4" = type { %"class.boost::unit_test::lazy_ostream", %"class.boost::unit_test::lazy_ostream"*, [28 x i8]* }
%"class.boost::io::basic_ios_tie_saver" = type { %"class.std::basic_ios"*, %"class.std::basic_ostream"* }
%"class.boost::unit_test::lazy_ostream_impl.42" = type { %"class.boost::unit_test::lazy_ostream", %"class.boost::unit_test::lazy_ostream"*, %"struct.boost::test_tools::tt_detail::print_helper_t.43"* }
%"struct.boost::test_tools::tt_detail::print_helper_t.43" = type { %"class.std::basic_ostream"** }
%"class.std::basic_iostream" = type { %"class.std::basic_istream.base", %"class.std::basic_ostream.base", %"class.std::basic_ios" }
%"class.boost::io::basic_ios_rdbuf_saver" = type { %"class.std::basic_ios"*, %"class.std::basic_streambuf"* }
%"class.std::allocator" = type { i8 }
%"class.boost::unit_test::lazy_ostream_impl.24" = type { %"class.boost::unit_test::lazy_ostream", %"class.boost::unit_test::lazy_ostream"*, %"struct.boost::test_tools::tt_detail::print_helper_t.25"* }
%"struct.boost::test_tools::tt_detail::print_helper_t.25" = type { %"class.std::basic_stringbuf"** }
%"class.boost::unit_test::lazy_ostream_impl.23" = type { %"class.boost::unit_test::lazy_ostream", %"class.boost::unit_test::lazy_ostream"*, %"struct.boost::test_tools::tt_detail::print_helper_t"* }
%"struct.boost::test_tools::tt_detail::print_helper_t" = type { %"class.std::basic_streambuf"** }
%"class.boost::io::basic_ios_fill_saver" = type { %"class.std::basic_ios"*, i8 }
%"class.boost::unit_test::lazy_ostream_impl.39" = type { %"class.boost::unit_test::lazy_ostream", %"class.boost::unit_test::lazy_ostream"*, %"struct.boost::test_tools::tt_detail::print_helper_t.40"* }
%"struct.boost::test_tools::tt_detail::print_helper_t.40" = type { i8* }
%"class.boost::io::basic_ios_locale_saver" = type { %"class.std::basic_ios"*, %"class.std::locale" }
%"class.std::numpunct" = type { %"class.std::locale::facet", %"struct.std::__numpunct_cache"* }
%"struct.std::__numpunct_cache" = type { %"class.std::locale::facet", i8*, i32, i8, i8*, i32, i8*, i32, i8, i8, [36 x i8], [26 x i8], i8 }
%class.backward_bool_names = type { %"class.std::numpunct" }
%"class.boost::io::ios_iword_saver" = type { %"class.std::ios_base"*, i32, i32 }
%"class.boost::unit_test::lazy_ostream_impl.35" = type { %"class.boost::unit_test::lazy_ostream", %"class.boost::unit_test::lazy_ostream"*, %"struct.boost::test_tools::tt_detail::print_helper_t.36"* }
%"struct.boost::test_tools::tt_detail::print_helper_t.36" = type { i32* }
%"class.boost::io::ios_pword_saver" = type { %"class.std::ios_base"*, i8*, i32 }
%"class.boost::unit_test::lazy_ostream_impl.30" = type { %"class.boost::unit_test::lazy_ostream", %"class.boost::unit_test::lazy_ostream"*, %"struct.boost::test_tools::tt_detail::print_helper_t.31"* }
%"struct.boost::test_tools::tt_detail::print_helper_t.31" = type { %"class.std::basic_stringstream"** }
%"class.boost::unit_test::lazy_ostream_impl.26" = type { %"class.boost::unit_test::lazy_ostream", %"class.boost::unit_test::lazy_ostream"*, %"struct.boost::test_tools::tt_detail::print_helper_t.27"* }
%"struct.boost::test_tools::tt_detail::print_helper_t.27" = type { i8** }
%"class.boost::io::ios_base_all_saver" = type { %"class.std::ios_base"*, i32, i32, i32 }
%"class.boost::io::basic_ios_all_saver" = type { %"class.std::basic_ios"*, i32, i32, i32, i32, i32, %"class.std::basic_ostream"*, %"class.std::basic_streambuf"*, i8, %"class.std::locale" }
%"struct.std::_Setfill" = type { i8 }
%"class.boost::io::ios_all_word_saver" = type { %"class.std::ios_base"*, i32, i32, i8* }
%"class.boost::unit_test::test_suite" = type { i32 (...)**, %"class.boost::unit_test::test_unit", %"class.std::vector" }
%"class.boost::unit_test::test_unit" = type { %"class.boost::unit_test::readonly_property.5", %"class.boost::unit_test::readonly_property.7", %"class.boost::unit_test::test_unit::readonly_property64", %"class.boost::unit_test::test_unit::readonly_property65", %"class.boost::unit_test::readwrite_property", %"class.boost::unit_test::readwrite_property.12", %"class.boost::unit_test::readwrite_property.14", %"class.boost::unit_test::readwrite_property.15", %"class.std::list" }
%"class.boost::unit_test::readonly_property.5" = type { %"class.boost::unit_test::class_property.6" }
%"class.boost::unit_test::class_property.6" = type { i32 }
%"class.boost::unit_test::readonly_property.7" = type { %"class.boost::unit_test::class_property.8" }
%"class.boost::unit_test::class_property.8" = type { %"class.boost::unit_test::basic_cstring" }
%"class.boost::unit_test::test_unit::readonly_property64" = type { %"class.boost::unit_test::readonly_property.9" }
%"class.boost::unit_test::readonly_property.9" = type { %"class.boost::unit_test::class_property.10" }
%"class.boost::unit_test::class_property.10" = type { i32 }
%"class.boost::unit_test::test_unit::readonly_property65" = type { %"class.boost::unit_test::readonly_property.9" }
%"class.boost::unit_test::readwrite_property" = type { %"class.boost::unit_test::class_property.11" }
%"class.boost::unit_test::class_property.11" = type { %"class.std::basic_string" }
%"class.boost::unit_test::readwrite_property.12" = type { %"class.boost::unit_test::class_property.13" }
%"class.boost::unit_test::class_property.13" = type { i32 }
%"class.boost::unit_test::readwrite_property.14" = type { %"class.boost::unit_test::class_property.10" }
%"class.boost::unit_test::readwrite_property.15" = type { %"class.boost::unit_test::class_property" }
%"class.std::list" = type { %"class.std::_List_base" }
%"class.std::_List_base" = type { %"struct.std::_List_base<unsigned long, std::allocator<unsigned long> >::_List_impl" }
%"struct.std::_List_base<unsigned long, std::allocator<unsigned long> >::_List_impl" = type { %"struct.std::__detail::_List_node_base" }
%"struct.std::__detail::_List_node_base" = type { %"struct.std::__detail::_List_node_base"*, %"struct.std::__detail::_List_node_base"* }
%"class.std::vector" = type { %"struct.std::_Vector_base" }
%"struct.std::_Vector_base" = type { %"struct.std::_Vector_base<unsigned long, std::allocator<unsigned long> >::_Vector_impl" }
%"struct.std::_Vector_base<unsigned long, std::allocator<unsigned long> >::_Vector_impl" = type { i32*, i32*, i32* }
%"class.boost::unit_test::callback0" = type { %"class.boost::shared_ptr.22" }
%"class.boost::shared_ptr.22" = type { %"struct.boost::unit_test::ut_detail::callback0_impl"*, %"class.boost::detail::shared_count" }
%"struct.boost::unit_test::ut_detail::callback0_impl" = type { i32 (...)** }
%"class.boost::unit_test::test_case" = type { %"class.boost::unit_test::test_unit", %"class.boost::unit_test::callback0" }
%"struct.boost::unit_test::ut_detail::callback0_impl_t" = type { %"struct.boost::unit_test::ut_detail::callback0_impl", void ()* }
%"struct.boost::unit_test::ut_detail::unused" = type { i8 }
%"struct.boost::unit_test::ut_detail::invoker" = type { i8 }
%"class.boost::detail::sp_counted_impl_p" = type { %"class.boost::detail::sp_counted_base", %"struct.boost::unit_test::ut_detail::callback0_impl_t"* }
%"class.std::type_info" = type { i32 (...)**, i8* }
%"struct.mpl_::bool_" = type { i8 }
%"struct.boost::integral_constant" = type { i8 }
%"struct.boost::test_tools::print_log_value" = type { i8 }
%"struct.boost::test_tools::print_log_value.28" = type { i8 }
%"struct.boost::test_tools::print_log_value.29" = type { i8 }
%"struct.boost::test_tools::print_log_value.32" = type { i8 }
%"struct.boost::test_tools::print_log_value.37" = type { i8 }
%"struct.boost::test_tools::print_log_value.38" = type { i8 }
%"struct.boost::test_tools::print_log_value.41" = type { i8 }
%"struct.boost::test_tools::print_log_value.44" = type { i8 }
%"struct.boost::test_tools::print_log_value.47" = type { i8 }
%"struct.boost::test_tools::print_log_value.50" = type { i8 }
%"class.boost::unit_test::singleton" = type { i8 }
%"class.boost::noncopyable_::noncopyable" = type { i8 }
%"class.boost::execution_exception" = type opaque

@_ZStL8__ioinit = internal global %"class.std::ios_base::Init" zeroinitializer, align 1
@__dso_handle = external unnamed_addr global i8
@_ZN5boost9unit_test12_GLOBAL__N_113unit_test_logE = internal global %"class.boost::unit_test::unit_test_log_t"* null, align 4
@_ZL10word_index = internal global i32 0, align 4
@.str = private unnamed_addr constant [24 x i8] c"ios_state_unit_test.cpp\00", align 1
@.str3 = private unnamed_addr constant [1 x i8] zeroinitializer, align 1
@.str4 = private unnamed_addr constant [35 x i8] c"(ios_base::skipws | ios_base::dec)\00", align 1
@.str5 = private unnamed_addr constant [11 x i8] c"ss.flags()\00", align 1
@_ZN5boost10test_tools12_GLOBAL__N_110dummy_condE = internal global i8 0, align 1
@.str6 = private unnamed_addr constant [56 x i8] c"(ios_base::boolalpha | ios_base::dec | ios_base::fixed)\00", align 1
@.str7 = private unnamed_addr constant [42 x i8] c"(ios_base::showbase | ios_base::internal)\00", align 1
@.str8 = private unnamed_addr constant [62 x i8] c"(ios_base::showbase | ios_base::internal | ios_base::unitbuf)\00", align 1
@.str9 = private unnamed_addr constant [2 x i8] c"6\00", align 1
@.str10 = private unnamed_addr constant [15 x i8] c"ss.precision()\00", align 1
@.str11 = private unnamed_addr constant [2 x i8] c"4\00", align 1
@.str12 = private unnamed_addr constant [2 x i8] c"8\00", align 1
@.str13 = private unnamed_addr constant [3 x i8] c"10\00", align 1
@.str14 = private unnamed_addr constant [2 x i8] c"0\00", align 1
@.str15 = private unnamed_addr constant [11 x i8] c"ss.width()\00", align 1
@_ZNSt8ios_base7goodbitE = external constant i32
@.str16 = private unnamed_addr constant [18 x i8] c"ios_base::goodbit\00", align 1
@.str17 = private unnamed_addr constant [13 x i8] c"ss.rdstate()\00", align 1
@.str18 = private unnamed_addr constant [10 x i8] c"ss.good()\00", align 1
@.str19 = private unnamed_addr constant [39 x i8] c"(ios_base::eofbit | ios_base::failbit)\00", align 1
@.str20 = private unnamed_addr constant [9 x i8] c"ss.eof()\00", align 1
@.str21 = private unnamed_addr constant [10 x i8] c"ss.fail()\00", align 1
@.str22 = private unnamed_addr constant [10 x i8] c"!ss.bad()\00", align 1
@_ZNSt8ios_base6eofbitE = external constant i32
@.str23 = private unnamed_addr constant [17 x i8] c"ios_base::eofbit\00", align 1
@.str24 = private unnamed_addr constant [38 x i8] c"(ios_base::eofbit | ios_base::badbit)\00", align 1
@.str25 = private unnamed_addr constant [9 x i8] c"ss.bad()\00", align 1
@.str26 = private unnamed_addr constant [16 x i8] c"ss.exceptions()\00", align 1
@_ZNSt8ios_base7failbitE = external constant i32
@.str27 = private unnamed_addr constant [18 x i8] c"ios_base::failbit\00", align 1
@_ZTINSt8ios_base7failureE = external constant i8*
@.str28 = private unnamed_addr constant [45 x i8] c"exception std::ios_base::failure is expected\00", align 1
@.str29 = private unnamed_addr constant [43 x i8] c"exception std::ios_base::failure is caught\00", align 1
@_ZNSt8ios_base6badbitE = external constant i32
@.str30 = private unnamed_addr constant [17 x i8] c"ios_base::badbit\00", align 1
@.str31 = private unnamed_addr constant [32 x i8] c"no exceptions thrown by ss >> c\00", align 1
@.str32 = private unnamed_addr constant [28 x i8] c"exception thrown by ss >> c\00", align 1
@_ZSt4cout = external global %"class.std::basic_ostream"
@.str33 = private unnamed_addr constant [21 x i8] c"__null == cout.tie()\00", align 1
@_ZSt4clog = external global %"class.std::basic_ostream"
@.str34 = private unnamed_addr constant [6 x i8] c"&clog\00", align 1
@.str35 = private unnamed_addr constant [11 x i8] c"cout.tie()\00", align 1
@_ZSt4cerr = external global %"class.std::basic_ostream"
@.str36 = private unnamed_addr constant [6 x i8] c"&cerr\00", align 1
@.str37 = private unnamed_addr constant [20 x i8] c"__null == s.rdbuf()\00", align 1
@.str38 = private unnamed_addr constant [4 x i8] c"&sb\00", align 1
@.str39 = private unnamed_addr constant [10 x i8] c"s.rdbuf()\00", align 1
@.str40 = private unnamed_addr constant [9 x i8] c"Hi there\00", align 1
@.str41 = private unnamed_addr constant [5 x i8] c"&sb1\00", align 1
@.str42 = private unnamed_addr constant [5 x i8] c"&sb2\00", align 1
@.str43 = private unnamed_addr constant [4 x i8] c"' '\00", align 1
@.str44 = private unnamed_addr constant [10 x i8] c"ss.fill()\00", align 1
@.str45 = private unnamed_addr constant [4 x i8] c"'x'\00", align 1
@.str46 = private unnamed_addr constant [4 x i8] c"'3'\00", align 1
@.str47 = private unnamed_addr constant [4 x i8] c"'+'\00", align 1
@.str48 = private unnamed_addr constant [24 x i8] c"locale() == ss.getloc()\00", align 1
@_ZTISt8numpunctIcE = external constant i8*
@_ZTVN10__cxxabiv120__si_class_type_infoE = external global i8*
@_ZTS19backward_bool_names = linkonce_odr constant [22 x i8] c"19backward_bool_names\00"
@_ZTI19backward_bool_names = linkonce_odr unnamed_addr constant { i8*, i8*, i8* } { i8* bitcast (i8** getelementptr inbounds (i8** @_ZTVN10__cxxabiv120__si_class_type_infoE, i32 2) to i8*), i8* getelementptr inbounds ([22 x i8]* @_ZTS19backward_bool_names, i32 0, i32 0), i8* bitcast (i8** @_ZTISt8numpunctIcE to i8*) }
@.str49 = private unnamed_addr constant [128 x i8] c"!has_facet<npc_type>(ss.getloc()) || (__null == dynamic_cast<backward_bool_names const *>( &use_facet<npc_type>(ss.getloc()) ))\00", align 1
@.str50 = private unnamed_addr constant [33 x i8] c"locale::classic() == ss.getloc()\00", align 1
@.str51 = private unnamed_addr constant [33 x i8] c"locale::classic() != ss.getloc()\00", align 1
@.str52 = private unnamed_addr constant [127 x i8] c"has_facet<npc_type>(ss.getloc()) && (__null != dynamic_cast<backward_bool_names const *>( &use_facet<npc_type>(ss.getloc()) ))\00", align 1
@.str53 = private unnamed_addr constant [21 x i8] c"ss.iword(word_index)\00", align 1
@.str54 = private unnamed_addr constant [4 x i8] c"100\00", align 1
@.str55 = private unnamed_addr constant [6 x i8] c"-2000\00", align 1
@.str56 = private unnamed_addr constant [31 x i8] c"__null == ss.pword(word_index)\00", align 1
@.str57 = private unnamed_addr constant [4 x i8] c"&ss\00", align 1
@.str58 = private unnamed_addr constant [21 x i8] c"ss.pword(word_index)\00", align 1
@.str59 = private unnamed_addr constant [11 x i8] c"ss.rdbuf()\00", align 1
@.str60 = private unnamed_addr constant [55 x i8] c"(ios_base::unitbuf | ios_base::hex | ios_base::skipws)\00", align 1
@.str61 = private unnamed_addr constant [2 x i8] c"5\00", align 1
@.str62 = private unnamed_addr constant [2 x i8] c"7\00", align 1
@.str63 = private unnamed_addr constant [19 x i8] c"__null == ss.tie()\00", align 1
@.str64 = private unnamed_addr constant [18 x i8] c"&sb == ss.rdbuf()\00", align 1
@.str65 = private unnamed_addr constant [36 x i8] c"(ios_base::showpos | ios_base::oct)\00", align 1
@.str66 = private unnamed_addr constant [2 x i8] c"3\00", align 1
@.str67 = private unnamed_addr constant [2 x i8] c"9\00", align 1
@.str68 = private unnamed_addr constant [9 x i8] c"ss.tie()\00", align 1
@.str69 = private unnamed_addr constant [13 x i8] c"cerr.rdbuf()\00", align 1
@.str70 = private unnamed_addr constant [24 x i8] c"locale() != ss.getloc()\00", align 1
@.str71 = private unnamed_addr constant [4 x i8] c"-11\00", align 1
@.str72 = private unnamed_addr constant [21 x i8] c"I/O state saver test\00", align 1
@.str73 = private unnamed_addr constant [26 x i8] c"ios_flags_saver_unit_test\00", align 1
@.str74 = private unnamed_addr constant [30 x i8] c"ios_precision_saver_unit_test\00", align 1
@.str75 = private unnamed_addr constant [26 x i8] c"ios_width_saver_unit_test\00", align 1
@.str76 = private unnamed_addr constant [28 x i8] c"ios_iostate_saver_unit_test\00", align 1
@.str77 = private unnamed_addr constant [30 x i8] c"ios_exception_saver_unit_test\00", align 1
@.str78 = private unnamed_addr constant [24 x i8] c"ios_tie_saver_unit_test\00", align 1
@.str79 = private unnamed_addr constant [26 x i8] c"ios_rdbuf_saver_unit_test\00", align 1
@.str80 = private unnamed_addr constant [25 x i8] c"ios_fill_saver_unit_test\00", align 1
@.str81 = private unnamed_addr constant [27 x i8] c"ios_locale_saver_unit_test\00", align 1
@.str82 = private unnamed_addr constant [26 x i8] c"ios_iword_saver_unit_test\00", align 1
@.str83 = private unnamed_addr constant [26 x i8] c"ios_pword_saver_unit_test\00", align 1
@.str84 = private unnamed_addr constant [29 x i8] c"ios_base_all_saver_unit_test\00", align 1
@.str85 = private unnamed_addr constant [24 x i8] c"ios_all_saver_unit_test\00", align 1
@.str86 = private unnamed_addr constant [25 x i8] c"ios_word_saver_unit_test\00", align 1
@_ZTVN5boost9unit_test9ut_detail16callback0_impl_tINS1_6unusedEPFvvEEE = linkonce_odr unnamed_addr constant [5 x i8*] [i8* null, i8* bitcast ({ i8*, i8*, i8* }* @_ZTIN5boost9unit_test9ut_detail16callback0_impl_tINS1_6unusedEPFvvEEE to i8*), i8* bitcast (void (%"struct.boost::unit_test::ut_detail::callback0_impl_t"*)* @_ZN5boost9unit_test9ut_detail16callback0_impl_tINS1_6unusedEPFvvEED1Ev to i8*), i8* bitcast (void (%"struct.boost::unit_test::ut_detail::callback0_impl_t"*)* @_ZN5boost9unit_test9ut_detail16callback0_impl_tINS1_6unusedEPFvvEED0Ev to i8*), i8* bitcast (void (%"struct.boost::unit_test::ut_detail::unused"*, %"struct.boost::unit_test::ut_detail::callback0_impl_t"*)* @_ZN5boost9unit_test9ut_detail16callback0_impl_tINS1_6unusedEPFvvEE6invokeEv to i8*)]
@_ZTSN5boost9unit_test9ut_detail16callback0_impl_tINS1_6unusedEPFvvEEE = linkonce_odr constant [66 x i8] c"N5boost9unit_test9ut_detail16callback0_impl_tINS1_6unusedEPFvvEEE\00"
@_ZTVN10__cxxabiv117__class_type_infoE = external global i8*
@_ZTSN5boost9unit_test9ut_detail14callback0_implINS1_6unusedEEE = linkonce_odr constant [59 x i8] c"N5boost9unit_test9ut_detail14callback0_implINS1_6unusedEEE\00"
@_ZTIN5boost9unit_test9ut_detail14callback0_implINS1_6unusedEEE = linkonce_odr unnamed_addr constant { i8*, i8* } { i8* bitcast (i8** getelementptr inbounds (i8** @_ZTVN10__cxxabiv117__class_type_infoE, i32 2) to i8*), i8* getelementptr inbounds ([59 x i8]* @_ZTSN5boost9unit_test9ut_detail14callback0_implINS1_6unusedEEE, i32 0, i32 0) }
@_ZTIN5boost9unit_test9ut_detail16callback0_impl_tINS1_6unusedEPFvvEEE = linkonce_odr unnamed_addr constant { i8*, i8*, i8* } { i8* bitcast (i8** getelementptr inbounds (i8** @_ZTVN10__cxxabiv120__si_class_type_infoE, i32 2) to i8*), i8* getelementptr inbounds ([66 x i8]* @_ZTSN5boost9unit_test9ut_detail16callback0_impl_tINS1_6unusedEPFvvEEE, i32 0, i32 0), i8* bitcast ({ i8*, i8* }* @_ZTIN5boost9unit_test9ut_detail14callback0_implINS1_6unusedEEE to i8*) }
@_ZTVN5boost9unit_test9ut_detail14callback0_implINS1_6unusedEEE = linkonce_odr unnamed_addr constant [5 x i8*] [i8* null, i8* bitcast ({ i8*, i8* }* @_ZTIN5boost9unit_test9ut_detail14callback0_implINS1_6unusedEEE to i8*), i8* bitcast (void (%"struct.boost::unit_test::ut_detail::callback0_impl"*)* @_ZN5boost9unit_test9ut_detail14callback0_implINS1_6unusedEED1Ev to i8*), i8* bitcast (void (%"struct.boost::unit_test::ut_detail::callback0_impl"*)* @_ZN5boost9unit_test9ut_detail14callback0_implINS1_6unusedEED0Ev to i8*), i8* bitcast (void ()* @__cxa_pure_virtual to i8*)]
@_ZTVN5boost6detail17sp_counted_impl_pINS_9unit_test9ut_detail16callback0_impl_tINS3_6unusedEPFvvEEEEE = linkonce_odr unnamed_addr constant [7 x i8*] [i8* null, i8* bitcast ({ i8*, i8*, i8* }* @_ZTIN5boost6detail17sp_counted_impl_pINS_9unit_test9ut_detail16callback0_impl_tINS3_6unusedEPFvvEEEEE to i8*), i8* bitcast (void (%"class.boost::detail::sp_counted_impl_p"*)* @_ZN5boost6detail17sp_counted_impl_pINS_9unit_test9ut_detail16callback0_impl_tINS3_6unusedEPFvvEEEED1Ev to i8*), i8* bitcast (void (%"class.boost::detail::sp_counted_impl_p"*)* @_ZN5boost6detail17sp_counted_impl_pINS_9unit_test9ut_detail16callback0_impl_tINS3_6unusedEPFvvEEEED0Ev to i8*), i8* bitcast (void (%"class.boost::detail::sp_counted_impl_p"*)* @_ZN5boost6detail17sp_counted_impl_pINS_9unit_test9ut_detail16callback0_impl_tINS3_6unusedEPFvvEEEE7disposeEv to i8*), i8* bitcast (void (%"class.boost::detail::sp_counted_base"*)* @_ZN5boost6detail15sp_counted_base7destroyEv to i8*), i8* bitcast (i8* (%"class.boost::detail::sp_counted_impl_p"*, %"class.std::type_info"*)* @_ZN5boost6detail17sp_counted_impl_pINS_9unit_test9ut_detail16callback0_impl_tINS3_6unusedEPFvvEEEE11get_deleterERKSt9type_info to i8*)]
@_ZTSN5boost6detail17sp_counted_impl_pINS_9unit_test9ut_detail16callback0_impl_tINS3_6unusedEPFvvEEEEE = linkonce_odr constant [98 x i8] c"N5boost6detail17sp_counted_impl_pINS_9unit_test9ut_detail16callback0_impl_tINS3_6unusedEPFvvEEEEE\00"
@_ZTSN5boost6detail15sp_counted_baseE = linkonce_odr constant [33 x i8] c"N5boost6detail15sp_counted_baseE\00"
@_ZTIN5boost6detail15sp_counted_baseE = linkonce_odr unnamed_addr constant { i8*, i8* } { i8* bitcast (i8** getelementptr inbounds (i8** @_ZTVN10__cxxabiv117__class_type_infoE, i32 2) to i8*), i8* getelementptr inbounds ([33 x i8]* @_ZTSN5boost6detail15sp_counted_baseE, i32 0, i32 0) }
@_ZTIN5boost6detail17sp_counted_impl_pINS_9unit_test9ut_detail16callback0_impl_tINS3_6unusedEPFvvEEEEE = linkonce_odr unnamed_addr constant { i8*, i8*, i8* } { i8* bitcast (i8** getelementptr inbounds (i8** @_ZTVN10__cxxabiv120__si_class_type_infoE, i32 2) to i8*), i8* getelementptr inbounds ([98 x i8]* @_ZTSN5boost6detail17sp_counted_impl_pINS_9unit_test9ut_detail16callback0_impl_tINS3_6unusedEPFvvEEEEE, i32 0, i32 0), i8* bitcast ({ i8*, i8* }* @_ZTIN5boost6detail15sp_counted_baseE to i8*) }
@_ZTVN5boost6detail15sp_counted_baseE = linkonce_odr unnamed_addr constant [7 x i8*] [i8* null, i8* bitcast ({ i8*, i8* }* @_ZTIN5boost6detail15sp_counted_baseE to i8*), i8* bitcast (void (%"class.boost::detail::sp_counted_base"*)* @_ZN5boost6detail15sp_counted_baseD1Ev to i8*), i8* bitcast (void (%"class.boost::detail::sp_counted_base"*)* @_ZN5boost6detail15sp_counted_baseD0Ev to i8*), i8* bitcast (void ()* @__cxa_pure_virtual to i8*), i8* bitcast (void (%"class.boost::detail::sp_counted_base"*)* @_ZN5boost6detail15sp_counted_base7destroyEv to i8*), i8* bitcast (void ()* @__cxa_pure_virtual to i8*)]
@_ZTVN5boost9unit_test17lazy_ostream_implIRKNS_10test_tools9tt_detail14print_helper_tIPSt15basic_streambufIcSt11char_traitsIcEEEEEE = linkonce_odr unnamed_addr constant [5 x i8*] [i8* null, i8* bitcast ({ i8*, i8*, i8* }* @_ZTIN5boost9unit_test17lazy_ostream_implIRKNS_10test_tools9tt_detail14print_helper_tIPSt15basic_streambufIcSt11char_traitsIcEEEEEE to i8*), i8* bitcast (%"class.std::basic_ostream"* (%"class.boost::unit_test::lazy_ostream_impl.23"*, %"class.std::basic_ostream"*)* @_ZNK5boost9unit_test17lazy_ostream_implIRKNS_10test_tools9tt_detail14print_helper_tIPSt15basic_streambufIcSt11char_traitsIcEEEEEclERSo to i8*), i8* bitcast (void (%"class.boost::unit_test::lazy_ostream_impl.23"*)* @_ZN5boost9unit_test17lazy_ostream_implIRKNS_10test_tools9tt_detail14print_helper_tIPSt15basic_streambufIcSt11char_traitsIcEEEEED1Ev to i8*), i8* bitcast (void (%"class.boost::unit_test::lazy_ostream_impl.23"*)* @_ZN5boost9unit_test17lazy_ostream_implIRKNS_10test_tools9tt_detail14print_helper_tIPSt15basic_streambufIcSt11char_traitsIcEEEEED0Ev to i8*)]
@_ZTSN5boost9unit_test17lazy_ostream_implIRKNS_10test_tools9tt_detail14print_helper_tIPSt15basic_streambufIcSt11char_traitsIcEEEEEE = linkonce_odr constant [127 x i8] c"N5boost9unit_test17lazy_ostream_implIRKNS_10test_tools9tt_detail14print_helper_tIPSt15basic_streambufIcSt11char_traitsIcEEEEEE\00"
@_ZTSN5boost9unit_test12lazy_ostreamE = linkonce_odr constant [33 x i8] c"N5boost9unit_test12lazy_ostreamE\00"
@_ZTIN5boost9unit_test12lazy_ostreamE = linkonce_odr unnamed_addr constant { i8*, i8* } { i8* bitcast (i8** getelementptr inbounds (i8** @_ZTVN10__cxxabiv117__class_type_infoE, i32 2) to i8*), i8* getelementptr inbounds ([33 x i8]* @_ZTSN5boost9unit_test12lazy_ostreamE, i32 0, i32 0) }
@_ZTIN5boost9unit_test17lazy_ostream_implIRKNS_10test_tools9tt_detail14print_helper_tIPSt15basic_streambufIcSt11char_traitsIcEEEEEE = linkonce_odr unnamed_addr constant { i8*, i8*, i8* } { i8* bitcast (i8** getelementptr inbounds (i8** @_ZTVN10__cxxabiv120__si_class_type_infoE, i32 2) to i8*), i8* getelementptr inbounds ([127 x i8]* @_ZTSN5boost9unit_test17lazy_ostream_implIRKNS_10test_tools9tt_detail14print_helper_tIPSt15basic_streambufIcSt11char_traitsIcEEEEEE, i32 0, i32 0), i8* bitcast ({ i8*, i8* }* @_ZTIN5boost9unit_test12lazy_ostreamE to i8*) }
@_ZTVN5boost9unit_test12lazy_ostreamE = linkonce_odr unnamed_addr constant [5 x i8*] [i8* null, i8* bitcast ({ i8*, i8* }* @_ZTIN5boost9unit_test12lazy_ostreamE to i8*), i8* bitcast (%"class.std::basic_ostream"* (%"class.boost::unit_test::lazy_ostream"*, %"class.std::basic_ostream"*)* @_ZNK5boost9unit_test12lazy_ostreamclERSo to i8*), i8* bitcast (void (%"class.boost::unit_test::lazy_ostream"*)* @_ZN5boost9unit_test12lazy_ostreamD1Ev to i8*), i8* bitcast (void (%"class.boost::unit_test::lazy_ostream"*)* @_ZN5boost9unit_test12lazy_ostreamD0Ev to i8*)]
@_ZTVN5boost9unit_test17lazy_ostream_implIRKNS_10test_tools9tt_detail14print_helper_tIPvEEEE = linkonce_odr unnamed_addr constant [5 x i8*] [i8* null, i8* bitcast ({ i8*, i8*, i8* }* @_ZTIN5boost9unit_test17lazy_ostream_implIRKNS_10test_tools9tt_detail14print_helper_tIPvEEEE to i8*), i8* bitcast (%"class.std::basic_ostream"* (%"class.boost::unit_test::lazy_ostream_impl.26"*, %"class.std::basic_ostream"*)* @_ZNK5boost9unit_test17lazy_ostream_implIRKNS_10test_tools9tt_detail14print_helper_tIPvEEEclERSo to i8*), i8* bitcast (void (%"class.boost::unit_test::lazy_ostream_impl.26"*)* @_ZN5boost9unit_test17lazy_ostream_implIRKNS_10test_tools9tt_detail14print_helper_tIPvEEED1Ev to i8*), i8* bitcast (void (%"class.boost::unit_test::lazy_ostream_impl.26"*)* @_ZN5boost9unit_test17lazy_ostream_implIRKNS_10test_tools9tt_detail14print_helper_tIPvEEED0Ev to i8*)]
@_ZTSN5boost9unit_test17lazy_ostream_implIRKNS_10test_tools9tt_detail14print_helper_tIPvEEEE = linkonce_odr constant [88 x i8] c"N5boost9unit_test17lazy_ostream_implIRKNS_10test_tools9tt_detail14print_helper_tIPvEEEE\00"
@_ZTIN5boost9unit_test17lazy_ostream_implIRKNS_10test_tools9tt_detail14print_helper_tIPvEEEE = linkonce_odr unnamed_addr constant { i8*, i8*, i8* } { i8* bitcast (i8** getelementptr inbounds (i8** @_ZTVN10__cxxabiv120__si_class_type_infoE, i32 2) to i8*), i8* getelementptr inbounds ([88 x i8]* @_ZTSN5boost9unit_test17lazy_ostream_implIRKNS_10test_tools9tt_detail14print_helper_tIPvEEEE, i32 0, i32 0), i8* bitcast ({ i8*, i8* }* @_ZTIN5boost9unit_test12lazy_ostreamE to i8*) }
@_ZTVN5boost9unit_test17lazy_ostream_implIRKNS_10test_tools9tt_detail14print_helper_tIPSt15basic_stringbufIcSt11char_traitsIcESaIcEEEEEE = linkonce_odr unnamed_addr constant [5 x i8*] [i8* null, i8* bitcast ({ i8*, i8*, i8* }* @_ZTIN5boost9unit_test17lazy_ostream_implIRKNS_10test_tools9tt_detail14print_helper_tIPSt15basic_stringbufIcSt11char_traitsIcESaIcEEEEEE to i8*), i8* bitcast (%"class.std::basic_ostream"* (%"class.boost::unit_test::lazy_ostream_impl.24"*, %"class.std::basic_ostream"*)* @_ZNK5boost9unit_test17lazy_ostream_implIRKNS_10test_tools9tt_detail14print_helper_tIPSt15basic_stringbufIcSt11char_traitsIcESaIcEEEEEclERSo to i8*), i8* bitcast (void (%"class.boost::unit_test::lazy_ostream_impl.24"*)* @_ZN5boost9unit_test17lazy_ostream_implIRKNS_10test_tools9tt_detail14print_helper_tIPSt15basic_stringbufIcSt11char_traitsIcESaIcEEEEED1Ev to i8*), i8* bitcast (void (%"class.boost::unit_test::lazy_ostream_impl.24"*)* @_ZN5boost9unit_test17lazy_ostream_implIRKNS_10test_tools9tt_detail14print_helper_tIPSt15basic_stringbufIcSt11char_traitsIcESaIcEEEEED0Ev to i8*)]
@_ZTSN5boost9unit_test17lazy_ostream_implIRKNS_10test_tools9tt_detail14print_helper_tIPSt15basic_stringbufIcSt11char_traitsIcESaIcEEEEEE = linkonce_odr constant [132 x i8] c"N5boost9unit_test17lazy_ostream_implIRKNS_10test_tools9tt_detail14print_helper_tIPSt15basic_stringbufIcSt11char_traitsIcESaIcEEEEEE\00"
@_ZTIN5boost9unit_test17lazy_ostream_implIRKNS_10test_tools9tt_detail14print_helper_tIPSt15basic_stringbufIcSt11char_traitsIcESaIcEEEEEE = linkonce_odr unnamed_addr constant { i8*, i8*, i8* } { i8* bitcast (i8** getelementptr inbounds (i8** @_ZTVN10__cxxabiv120__si_class_type_infoE, i32 2) to i8*), i8* getelementptr inbounds ([132 x i8]* @_ZTSN5boost9unit_test17lazy_ostream_implIRKNS_10test_tools9tt_detail14print_helper_tIPSt15basic_stringbufIcSt11char_traitsIcESaIcEEEEEE, i32 0, i32 0), i8* bitcast ({ i8*, i8* }* @_ZTIN5boost9unit_test12lazy_ostreamE to i8*) }
@_ZTVN5boost9unit_test17lazy_ostream_implIRKNS_10test_tools9tt_detail14print_helper_tIPSt18basic_stringstreamIcSt11char_traitsIcESaIcEEEEEE = linkonce_odr unnamed_addr constant [5 x i8*] [i8* null, i8* bitcast ({ i8*, i8*, i8* }* @_ZTIN5boost9unit_test17lazy_ostream_implIRKNS_10test_tools9tt_detail14print_helper_tIPSt18basic_stringstreamIcSt11char_traitsIcESaIcEEEEEE to i8*), i8* bitcast (%"class.std::basic_ostream"* (%"class.boost::unit_test::lazy_ostream_impl.30"*, %"class.std::basic_ostream"*)* @_ZNK5boost9unit_test17lazy_ostream_implIRKNS_10test_tools9tt_detail14print_helper_tIPSt18basic_stringstreamIcSt11char_traitsIcESaIcEEEEEclERSo to i8*), i8* bitcast (void (%"class.boost::unit_test::lazy_ostream_impl.30"*)* @_ZN5boost9unit_test17lazy_ostream_implIRKNS_10test_tools9tt_detail14print_helper_tIPSt18basic_stringstreamIcSt11char_traitsIcESaIcEEEEED1Ev to i8*), i8* bitcast (void (%"class.boost::unit_test::lazy_ostream_impl.30"*)* @_ZN5boost9unit_test17lazy_ostream_implIRKNS_10test_tools9tt_detail14print_helper_tIPSt18basic_stringstreamIcSt11char_traitsIcESaIcEEEEED0Ev to i8*)]
@_ZTSN5boost9unit_test17lazy_ostream_implIRKNS_10test_tools9tt_detail14print_helper_tIPSt18basic_stringstreamIcSt11char_traitsIcESaIcEEEEEE = linkonce_odr constant [135 x i8] c"N5boost9unit_test17lazy_ostream_implIRKNS_10test_tools9tt_detail14print_helper_tIPSt18basic_stringstreamIcSt11char_traitsIcESaIcEEEEEE\00"
@_ZTIN5boost9unit_test17lazy_ostream_implIRKNS_10test_tools9tt_detail14print_helper_tIPSt18basic_stringstreamIcSt11char_traitsIcESaIcEEEEEE = linkonce_odr unnamed_addr constant { i8*, i8*, i8* } { i8* bitcast (i8** getelementptr inbounds (i8** @_ZTVN10__cxxabiv120__si_class_type_infoE, i32 2) to i8*), i8* getelementptr inbounds ([135 x i8]* @_ZTSN5boost9unit_test17lazy_ostream_implIRKNS_10test_tools9tt_detail14print_helper_tIPSt18basic_stringstreamIcSt11char_traitsIcESaIcEEEEEE, i32 0, i32 0), i8* bitcast ({ i8*, i8* }* @_ZTIN5boost9unit_test12lazy_ostreamE to i8*) }
@_ZTVN5boost9unit_test17lazy_ostream_implIRKNS_10test_tools9tt_detail14print_helper_tIlEEEE = linkonce_odr unnamed_addr constant [5 x i8*] [i8* null, i8* bitcast ({ i8*, i8*, i8* }* @_ZTIN5boost9unit_test17lazy_ostream_implIRKNS_10test_tools9tt_detail14print_helper_tIlEEEE to i8*), i8* bitcast (%"class.std::basic_ostream"* (%"class.boost::unit_test::lazy_ostream_impl.35"*, %"class.std::basic_ostream"*)* @_ZNK5boost9unit_test17lazy_ostream_implIRKNS_10test_tools9tt_detail14print_helper_tIlEEEclERSo to i8*), i8* bitcast (void (%"class.boost::unit_test::lazy_ostream_impl.35"*)* @_ZN5boost9unit_test17lazy_ostream_implIRKNS_10test_tools9tt_detail14print_helper_tIlEEED1Ev to i8*), i8* bitcast (void (%"class.boost::unit_test::lazy_ostream_impl.35"*)* @_ZN5boost9unit_test17lazy_ostream_implIRKNS_10test_tools9tt_detail14print_helper_tIlEEED0Ev to i8*)]
@_ZTSN5boost9unit_test17lazy_ostream_implIRKNS_10test_tools9tt_detail14print_helper_tIlEEEE = linkonce_odr constant [87 x i8] c"N5boost9unit_test17lazy_ostream_implIRKNS_10test_tools9tt_detail14print_helper_tIlEEEE\00"
@_ZTIN5boost9unit_test17lazy_ostream_implIRKNS_10test_tools9tt_detail14print_helper_tIlEEEE = linkonce_odr unnamed_addr constant { i8*, i8*, i8* } { i8* bitcast (i8** getelementptr inbounds (i8** @_ZTVN10__cxxabiv120__si_class_type_infoE, i32 2) to i8*), i8* getelementptr inbounds ([87 x i8]* @_ZTSN5boost9unit_test17lazy_ostream_implIRKNS_10test_tools9tt_detail14print_helper_tIlEEEE, i32 0, i32 0), i8* bitcast ({ i8*, i8* }* @_ZTIN5boost9unit_test12lazy_ostreamE to i8*) }
@_ZTVN5boost9unit_test17lazy_ostream_implIRKNS_10test_tools9tt_detail14print_helper_tIiEEEE = linkonce_odr unnamed_addr constant [5 x i8*] [i8* null, i8* bitcast ({ i8*, i8*, i8* }* @_ZTIN5boost9unit_test17lazy_ostream_implIRKNS_10test_tools9tt_detail14print_helper_tIiEEEE to i8*), i8* bitcast (%"class.std::basic_ostream"* (%"class.boost::unit_test::lazy_ostream_impl.33"*, %"class.std::basic_ostream"*)* @_ZNK5boost9unit_test17lazy_ostream_implIRKNS_10test_tools9tt_detail14print_helper_tIiEEEclERSo to i8*), i8* bitcast (void (%"class.boost::unit_test::lazy_ostream_impl.33"*)* @_ZN5boost9unit_test17lazy_ostream_implIRKNS_10test_tools9tt_detail14print_helper_tIiEEED1Ev to i8*), i8* bitcast (void (%"class.boost::unit_test::lazy_ostream_impl.33"*)* @_ZN5boost9unit_test17lazy_ostream_implIRKNS_10test_tools9tt_detail14print_helper_tIiEEED0Ev to i8*)]
@_ZTSN5boost9unit_test17lazy_ostream_implIRKNS_10test_tools9tt_detail14print_helper_tIiEEEE = linkonce_odr constant [87 x i8] c"N5boost9unit_test17lazy_ostream_implIRKNS_10test_tools9tt_detail14print_helper_tIiEEEE\00"
@_ZTIN5boost9unit_test17lazy_ostream_implIRKNS_10test_tools9tt_detail14print_helper_tIiEEEE = linkonce_odr unnamed_addr constant { i8*, i8*, i8* } { i8* bitcast (i8** getelementptr inbounds (i8** @_ZTVN10__cxxabiv120__si_class_type_infoE, i32 2) to i8*), i8* getelementptr inbounds ([87 x i8]* @_ZTSN5boost9unit_test17lazy_ostream_implIRKNS_10test_tools9tt_detail14print_helper_tIiEEEE, i32 0, i32 0), i8* bitcast ({ i8*, i8* }* @_ZTIN5boost9unit_test12lazy_ostreamE to i8*) }
@_ZNSt8numpunctIcE2idE = external global %"class.std::locale::id"
@_ZZL18__gthread_active_pvE20__gthread_active_ptr = internal constant i8* bitcast (i32 (i32)* @pthread_cancel to i8*), align 4
@_ZTVN5boost9unit_test17lazy_ostream_implIRKNS_10test_tools9tt_detail14print_helper_tIcEEEE = linkonce_odr unnamed_addr constant [5 x i8*] [i8* null, i8* bitcast ({ i8*, i8*, i8* }* @_ZTIN5boost9unit_test17lazy_ostream_implIRKNS_10test_tools9tt_detail14print_helper_tIcEEEE to i8*), i8* bitcast (%"class.std::basic_ostream"* (%"class.boost::unit_test::lazy_ostream_impl.39"*, %"class.std::basic_ostream"*)* @_ZNK5boost9unit_test17lazy_ostream_implIRKNS_10test_tools9tt_detail14print_helper_tIcEEEclERSo to i8*), i8* bitcast (void (%"class.boost::unit_test::lazy_ostream_impl.39"*)* @_ZN5boost9unit_test17lazy_ostream_implIRKNS_10test_tools9tt_detail14print_helper_tIcEEED1Ev to i8*), i8* bitcast (void (%"class.boost::unit_test::lazy_ostream_impl.39"*)* @_ZN5boost9unit_test17lazy_ostream_implIRKNS_10test_tools9tt_detail14print_helper_tIcEEED0Ev to i8*)]
@_ZTSN5boost9unit_test17lazy_ostream_implIRKNS_10test_tools9tt_detail14print_helper_tIcEEEE = linkonce_odr constant [87 x i8] c"N5boost9unit_test17lazy_ostream_implIRKNS_10test_tools9tt_detail14print_helper_tIcEEEE\00"
@_ZTIN5boost9unit_test17lazy_ostream_implIRKNS_10test_tools9tt_detail14print_helper_tIcEEEE = linkonce_odr unnamed_addr constant { i8*, i8*, i8* } { i8* bitcast (i8** getelementptr inbounds (i8** @_ZTVN10__cxxabiv120__si_class_type_infoE, i32 2) to i8*), i8* getelementptr inbounds ([87 x i8]* @_ZTSN5boost9unit_test17lazy_ostream_implIRKNS_10test_tools9tt_detail14print_helper_tIcEEEE, i32 0, i32 0), i8* bitcast ({ i8*, i8* }* @_ZTIN5boost9unit_test12lazy_ostreamE to i8*) }
@_ZTVN5boost9unit_test17lazy_ostream_implIRKNS_10test_tools9tt_detail14print_helper_tIPSoEEEE = linkonce_odr unnamed_addr constant [5 x i8*] [i8* null, i8* bitcast ({ i8*, i8*, i8* }* @_ZTIN5boost9unit_test17lazy_ostream_implIRKNS_10test_tools9tt_detail14print_helper_tIPSoEEEE to i8*), i8* bitcast (%"class.std::basic_ostream"* (%"class.boost::unit_test::lazy_ostream_impl.42"*, %"class.std::basic_ostream"*)* @_ZNK5boost9unit_test17lazy_ostream_implIRKNS_10test_tools9tt_detail14print_helper_tIPSoEEEclERSo to i8*), i8* bitcast (void (%"class.boost::unit_test::lazy_ostream_impl.42"*)* @_ZN5boost9unit_test17lazy_ostream_implIRKNS_10test_tools9tt_detail14print_helper_tIPSoEEED1Ev to i8*), i8* bitcast (void (%"class.boost::unit_test::lazy_ostream_impl.42"*)* @_ZN5boost9unit_test17lazy_ostream_implIRKNS_10test_tools9tt_detail14print_helper_tIPSoEEED0Ev to i8*)]
@_ZTSN5boost9unit_test17lazy_ostream_implIRKNS_10test_tools9tt_detail14print_helper_tIPSoEEEE = linkonce_odr constant [89 x i8] c"N5boost9unit_test17lazy_ostream_implIRKNS_10test_tools9tt_detail14print_helper_tIPSoEEEE\00"
@_ZTIN5boost9unit_test17lazy_ostream_implIRKNS_10test_tools9tt_detail14print_helper_tIPSoEEEE = linkonce_odr unnamed_addr constant { i8*, i8*, i8* } { i8* bitcast (i8** getelementptr inbounds (i8** @_ZTVN10__cxxabiv120__si_class_type_infoE, i32 2) to i8*), i8* getelementptr inbounds ([89 x i8]* @_ZTSN5boost9unit_test17lazy_ostream_implIRKNS_10test_tools9tt_detail14print_helper_tIPSoEEEE, i32 0, i32 0), i8* bitcast ({ i8*, i8* }* @_ZTIN5boost9unit_test12lazy_ostreamE to i8*) }
@_ZTVN5boost9unit_test17lazy_ostream_implIRA28_KcEE = linkonce_odr unnamed_addr constant [5 x i8*] [i8* null, i8* bitcast ({ i8*, i8*, i8* }* @_ZTIN5boost9unit_test17lazy_ostream_implIRA28_KcEE to i8*), i8* bitcast (%"class.std::basic_ostream"* (%"class.boost::unit_test::lazy_ostream_impl.4"*, %"class.std::basic_ostream"*)* @_ZNK5boost9unit_test17lazy_ostream_implIRA28_KcEclERSo to i8*), i8* bitcast (void (%"class.boost::unit_test::lazy_ostream_impl.4"*)* @_ZN5boost9unit_test17lazy_ostream_implIRA28_KcED1Ev to i8*), i8* bitcast (void (%"class.boost::unit_test::lazy_ostream_impl.4"*)* @_ZN5boost9unit_test17lazy_ostream_implIRA28_KcED0Ev to i8*)]
@_ZTSN5boost9unit_test17lazy_ostream_implIRA28_KcEE = linkonce_odr constant [47 x i8] c"N5boost9unit_test17lazy_ostream_implIRA28_KcEE\00"
@_ZTIN5boost9unit_test17lazy_ostream_implIRA28_KcEE = linkonce_odr unnamed_addr constant { i8*, i8*, i8* } { i8* bitcast (i8** getelementptr inbounds (i8** @_ZTVN10__cxxabiv120__si_class_type_infoE, i32 2) to i8*), i8* getelementptr inbounds ([47 x i8]* @_ZTSN5boost9unit_test17lazy_ostream_implIRA28_KcEE, i32 0, i32 0), i8* bitcast ({ i8*, i8* }* @_ZTIN5boost9unit_test12lazy_ostreamE to i8*) }
@_ZTVN5boost9unit_test17lazy_ostream_implIRA32_KcEE = linkonce_odr unnamed_addr constant [5 x i8*] [i8* null, i8* bitcast ({ i8*, i8*, i8* }* @_ZTIN5boost9unit_test17lazy_ostream_implIRA32_KcEE to i8*), i8* bitcast (%"class.std::basic_ostream"* (%"class.boost::unit_test::lazy_ostream_impl.3"*, %"class.std::basic_ostream"*)* @_ZNK5boost9unit_test17lazy_ostream_implIRA32_KcEclERSo to i8*), i8* bitcast (void (%"class.boost::unit_test::lazy_ostream_impl.3"*)* @_ZN5boost9unit_test17lazy_ostream_implIRA32_KcED1Ev to i8*), i8* bitcast (void (%"class.boost::unit_test::lazy_ostream_impl.3"*)* @_ZN5boost9unit_test17lazy_ostream_implIRA32_KcED0Ev to i8*)]
@_ZTSN5boost9unit_test17lazy_ostream_implIRA32_KcEE = linkonce_odr constant [47 x i8] c"N5boost9unit_test17lazy_ostream_implIRA32_KcEE\00"
@_ZTIN5boost9unit_test17lazy_ostream_implIRA32_KcEE = linkonce_odr unnamed_addr constant { i8*, i8*, i8* } { i8* bitcast (i8** getelementptr inbounds (i8** @_ZTVN10__cxxabiv120__si_class_type_infoE, i32 2) to i8*), i8* getelementptr inbounds ([47 x i8]* @_ZTSN5boost9unit_test17lazy_ostream_implIRA32_KcEE, i32 0, i32 0), i8* bitcast ({ i8*, i8* }* @_ZTIN5boost9unit_test12lazy_ostreamE to i8*) }
@_ZTVN5boost9unit_test17lazy_ostream_implIRA43_KcEE = linkonce_odr unnamed_addr constant [5 x i8*] [i8* null, i8* bitcast ({ i8*, i8*, i8* }* @_ZTIN5boost9unit_test17lazy_ostream_implIRA43_KcEE to i8*), i8* bitcast (%"class.std::basic_ostream"* (%"class.boost::unit_test::lazy_ostream_impl.2"*, %"class.std::basic_ostream"*)* @_ZNK5boost9unit_test17lazy_ostream_implIRA43_KcEclERSo to i8*), i8* bitcast (void (%"class.boost::unit_test::lazy_ostream_impl.2"*)* @_ZN5boost9unit_test17lazy_ostream_implIRA43_KcED1Ev to i8*), i8* bitcast (void (%"class.boost::unit_test::lazy_ostream_impl.2"*)* @_ZN5boost9unit_test17lazy_ostream_implIRA43_KcED0Ev to i8*)]
@_ZTSN5boost9unit_test17lazy_ostream_implIRA43_KcEE = linkonce_odr constant [47 x i8] c"N5boost9unit_test17lazy_ostream_implIRA43_KcEE\00"
@_ZTIN5boost9unit_test17lazy_ostream_implIRA43_KcEE = linkonce_odr unnamed_addr constant { i8*, i8*, i8* } { i8* bitcast (i8** getelementptr inbounds (i8** @_ZTVN10__cxxabiv120__si_class_type_infoE, i32 2) to i8*), i8* getelementptr inbounds ([47 x i8]* @_ZTSN5boost9unit_test17lazy_ostream_implIRA43_KcEE, i32 0, i32 0), i8* bitcast ({ i8*, i8* }* @_ZTIN5boost9unit_test12lazy_ostreamE to i8*) }
@_ZTVN5boost9unit_test17lazy_ostream_implIRA45_KcEE = linkonce_odr unnamed_addr constant [5 x i8*] [i8* null, i8* bitcast ({ i8*, i8*, i8* }* @_ZTIN5boost9unit_test17lazy_ostream_implIRA45_KcEE to i8*), i8* bitcast (%"class.std::basic_ostream"* (%"class.boost::unit_test::lazy_ostream_impl.1"*, %"class.std::basic_ostream"*)* @_ZNK5boost9unit_test17lazy_ostream_implIRA45_KcEclERSo to i8*), i8* bitcast (void (%"class.boost::unit_test::lazy_ostream_impl.1"*)* @_ZN5boost9unit_test17lazy_ostream_implIRA45_KcED1Ev to i8*), i8* bitcast (void (%"class.boost::unit_test::lazy_ostream_impl.1"*)* @_ZN5boost9unit_test17lazy_ostream_implIRA45_KcED0Ev to i8*)]
@_ZTSN5boost9unit_test17lazy_ostream_implIRA45_KcEE = linkonce_odr constant [47 x i8] c"N5boost9unit_test17lazy_ostream_implIRA45_KcEE\00"
@_ZTIN5boost9unit_test17lazy_ostream_implIRA45_KcEE = linkonce_odr unnamed_addr constant { i8*, i8*, i8* } { i8* bitcast (i8** getelementptr inbounds (i8** @_ZTVN10__cxxabiv120__si_class_type_infoE, i32 2) to i8*), i8* getelementptr inbounds ([47 x i8]* @_ZTSN5boost9unit_test17lazy_ostream_implIRA45_KcEE, i32 0, i32 0), i8* bitcast ({ i8*, i8* }* @_ZTIN5boost9unit_test12lazy_ostreamE to i8*) }
@_ZTVN5boost9unit_test17lazy_ostream_implIRKNS0_13basic_cstringIKcEEEE = linkonce_odr unnamed_addr constant [5 x i8*] [i8* null, i8* bitcast ({ i8*, i8*, i8* }* @_ZTIN5boost9unit_test17lazy_ostream_implIRKNS0_13basic_cstringIKcEEEE to i8*), i8* bitcast (%"class.std::basic_ostream"* (%"class.boost::unit_test::lazy_ostream_impl.0"*, %"class.std::basic_ostream"*)* @_ZNK5boost9unit_test17lazy_ostream_implIRKNS0_13basic_cstringIKcEEEclERSo to i8*), i8* bitcast (void (%"class.boost::unit_test::lazy_ostream_impl.0"*)* @_ZN5boost9unit_test17lazy_ostream_implIRKNS0_13basic_cstringIKcEEED1Ev to i8*), i8* bitcast (void (%"class.boost::unit_test::lazy_ostream_impl.0"*)* @_ZN5boost9unit_test17lazy_ostream_implIRKNS0_13basic_cstringIKcEEED0Ev to i8*)]
@_ZTSN5boost9unit_test17lazy_ostream_implIRKNS0_13basic_cstringIKcEEEE = linkonce_odr constant [66 x i8] c"N5boost9unit_test17lazy_ostream_implIRKNS0_13basic_cstringIKcEEEE\00"
@_ZTIN5boost9unit_test17lazy_ostream_implIRKNS0_13basic_cstringIKcEEEE = linkonce_odr unnamed_addr constant { i8*, i8*, i8* } { i8* bitcast (i8** getelementptr inbounds (i8** @_ZTVN10__cxxabiv120__si_class_type_infoE, i32 2) to i8*), i8* getelementptr inbounds ([66 x i8]* @_ZTSN5boost9unit_test17lazy_ostream_implIRKNS0_13basic_cstringIKcEEEE, i32 0, i32 0), i8* bitcast ({ i8*, i8* }* @_ZTIN5boost9unit_test12lazy_ostreamE to i8*) }
@_ZTVN5boost9unit_test17lazy_ostream_implIRKNS_10test_tools9tt_detail14print_helper_tISt12_Ios_IostateEEEE = linkonce_odr unnamed_addr constant [5 x i8*] [i8* null, i8* bitcast ({ i8*, i8*, i8* }* @_ZTIN5boost9unit_test17lazy_ostream_implIRKNS_10test_tools9tt_detail14print_helper_tISt12_Ios_IostateEEEE to i8*), i8* bitcast (%"class.std::basic_ostream"* (%"class.boost::unit_test::lazy_ostream_impl.45"*, %"class.std::basic_ostream"*)* @_ZNK5boost9unit_test17lazy_ostream_implIRKNS_10test_tools9tt_detail14print_helper_tISt12_Ios_IostateEEEclERSo to i8*), i8* bitcast (void (%"class.boost::unit_test::lazy_ostream_impl.45"*)* @_ZN5boost9unit_test17lazy_ostream_implIRKNS_10test_tools9tt_detail14print_helper_tISt12_Ios_IostateEEED1Ev to i8*), i8* bitcast (void (%"class.boost::unit_test::lazy_ostream_impl.45"*)* @_ZN5boost9unit_test17lazy_ostream_implIRKNS_10test_tools9tt_detail14print_helper_tISt12_Ios_IostateEEED0Ev to i8*)]
@_ZTSN5boost9unit_test17lazy_ostream_implIRKNS_10test_tools9tt_detail14print_helper_tISt12_Ios_IostateEEEE = linkonce_odr constant [102 x i8] c"N5boost9unit_test17lazy_ostream_implIRKNS_10test_tools9tt_detail14print_helper_tISt12_Ios_IostateEEEE\00"
@_ZTIN5boost9unit_test17lazy_ostream_implIRKNS_10test_tools9tt_detail14print_helper_tISt12_Ios_IostateEEEE = linkonce_odr unnamed_addr constant { i8*, i8*, i8* } { i8* bitcast (i8** getelementptr inbounds (i8** @_ZTVN10__cxxabiv120__si_class_type_infoE, i32 2) to i8*), i8* getelementptr inbounds ([102 x i8]* @_ZTSN5boost9unit_test17lazy_ostream_implIRKNS_10test_tools9tt_detail14print_helper_tISt12_Ios_IostateEEEE, i32 0, i32 0), i8* bitcast ({ i8*, i8* }* @_ZTIN5boost9unit_test12lazy_ostreamE to i8*) }
@_ZTVN5boost9unit_test17lazy_ostream_implIRKNS_10test_tools9tt_detail14print_helper_tISt13_Ios_FmtflagsEEEE = linkonce_odr unnamed_addr constant [5 x i8*] [i8* null, i8* bitcast ({ i8*, i8*, i8* }* @_ZTIN5boost9unit_test17lazy_ostream_implIRKNS_10test_tools9tt_detail14print_helper_tISt13_Ios_FmtflagsEEEE to i8*), i8* bitcast (%"class.std::basic_ostream"* (%"class.boost::unit_test::lazy_ostream_impl.48"*, %"class.std::basic_ostream"*)* @_ZNK5boost9unit_test17lazy_ostream_implIRKNS_10test_tools9tt_detail14print_helper_tISt13_Ios_FmtflagsEEEclERSo to i8*), i8* bitcast (void (%"class.boost::unit_test::lazy_ostream_impl.48"*)* @_ZN5boost9unit_test17lazy_ostream_implIRKNS_10test_tools9tt_detail14print_helper_tISt13_Ios_FmtflagsEEED1Ev to i8*), i8* bitcast (void (%"class.boost::unit_test::lazy_ostream_impl.48"*)* @_ZN5boost9unit_test17lazy_ostream_implIRKNS_10test_tools9tt_detail14print_helper_tISt13_Ios_FmtflagsEEED0Ev to i8*)]
@_ZTSN5boost9unit_test17lazy_ostream_implIRKNS_10test_tools9tt_detail14print_helper_tISt13_Ios_FmtflagsEEEE = linkonce_odr constant [103 x i8] c"N5boost9unit_test17lazy_ostream_implIRKNS_10test_tools9tt_detail14print_helper_tISt13_Ios_FmtflagsEEEE\00"
@_ZTIN5boost9unit_test17lazy_ostream_implIRKNS_10test_tools9tt_detail14print_helper_tISt13_Ios_FmtflagsEEEE = linkonce_odr unnamed_addr constant { i8*, i8*, i8* } { i8* bitcast (i8** getelementptr inbounds (i8** @_ZTVN10__cxxabiv120__si_class_type_infoE, i32 2) to i8*), i8* getelementptr inbounds ([103 x i8]* @_ZTSN5boost9unit_test17lazy_ostream_implIRKNS_10test_tools9tt_detail14print_helper_tISt13_Ios_FmtflagsEEEE, i32 0, i32 0), i8* bitcast ({ i8*, i8* }* @_ZTIN5boost9unit_test12lazy_ostreamE to i8*) }
@_ZTVN5boost9unit_test17lazy_ostream_implIRA1_KcEE = linkonce_odr unnamed_addr constant [5 x i8*] [i8* null, i8* bitcast ({ i8*, i8*, i8* }* @_ZTIN5boost9unit_test17lazy_ostream_implIRA1_KcEE to i8*), i8* bitcast (%"class.std::basic_ostream"* (%"class.boost::unit_test::lazy_ostream_impl"*, %"class.std::basic_ostream"*)* @_ZNK5boost9unit_test17lazy_ostream_implIRA1_KcEclERSo to i8*), i8* bitcast (void (%"class.boost::unit_test::lazy_ostream_impl"*)* @_ZN5boost9unit_test17lazy_ostream_implIRA1_KcED1Ev to i8*), i8* bitcast (void (%"class.boost::unit_test::lazy_ostream_impl"*)* @_ZN5boost9unit_test17lazy_ostream_implIRA1_KcED0Ev to i8*)]
@_ZTSN5boost9unit_test17lazy_ostream_implIRA1_KcEE = linkonce_odr constant [46 x i8] c"N5boost9unit_test17lazy_ostream_implIRA1_KcEE\00"
@_ZTIN5boost9unit_test17lazy_ostream_implIRA1_KcEE = linkonce_odr unnamed_addr constant { i8*, i8*, i8* } { i8* bitcast (i8** getelementptr inbounds (i8** @_ZTVN10__cxxabiv120__si_class_type_infoE, i32 2) to i8*), i8* getelementptr inbounds ([46 x i8]* @_ZTSN5boost9unit_test17lazy_ostream_implIRA1_KcEE, i32 0, i32 0), i8* bitcast ({ i8*, i8* }* @_ZTIN5boost9unit_test12lazy_ostreamE to i8*) }
@_ZZN5boost9unit_test13basic_cstringIKcE8null_strEvE4null = linkonce_odr constant i8 0, align 1
@_ZZN5boost9unit_test9singletonINS0_15unit_test_log_tEE8instanceEvE8the_inst = linkonce_odr global %"class.boost::unit_test::unit_test_log_t" zeroinitializer, align 4
@_ZGVZN5boost9unit_test9singletonINS0_15unit_test_log_tEE8instanceEvE8the_inst = linkonce_odr global i64 0
@_ZTVN5boost9unit_test15unit_test_log_tE = external unnamed_addr constant [14 x i8*]
@_ZTVN5boost9unit_test13test_observerE = linkonce_odr unnamed_addr constant [14 x i8*] [i8* null, i8* bitcast ({ i8*, i8* }* @_ZTIN5boost9unit_test13test_observerE to i8*), i8* bitcast (void (%"class.boost::unit_test::test_observer"*, i32)* @_ZN5boost9unit_test13test_observer10test_startEm to i8*), i8* bitcast (void (%"class.boost::unit_test::test_observer"*)* @_ZN5boost9unit_test13test_observer11test_finishEv to i8*), i8* bitcast (void (%"class.boost::unit_test::test_observer"*)* @_ZN5boost9unit_test13test_observer12test_abortedEv to i8*), i8* bitcast (void (%"class.boost::unit_test::test_observer"*, %"class.boost::unit_test::test_unit"*)* @_ZN5boost9unit_test13test_observer15test_unit_startERKNS0_9test_unitE to i8*), i8* bitcast (void (%"class.boost::unit_test::test_observer"*, %"class.boost::unit_test::test_unit"*, i32)* @_ZN5boost9unit_test13test_observer16test_unit_finishERKNS0_9test_unitEm to i8*), i8* bitcast (void (%"class.boost::unit_test::test_observer"*, %"class.boost::unit_test::test_unit"*)* @_ZN5boost9unit_test13test_observer17test_unit_skippedERKNS0_9test_unitE to i8*), i8* bitcast (void (%"class.boost::unit_test::test_observer"*, %"class.boost::unit_test::test_unit"*)* @_ZN5boost9unit_test13test_observer17test_unit_abortedERKNS0_9test_unitE to i8*), i8* bitcast (void (%"class.boost::unit_test::test_observer"*, i1)* @_ZN5boost9unit_test13test_observer16assertion_resultEb to i8*), i8* bitcast (void (%"class.boost::unit_test::test_observer"*, %"class.boost::execution_exception"*)* @_ZN5boost9unit_test13test_observer16exception_caughtERKNS_19execution_exceptionE to i8*), i8* bitcast (i32 (%"class.boost::unit_test::test_observer"*)* @_ZN5boost9unit_test13test_observer8priorityEv to i8*), i8* bitcast (void (%"class.boost::unit_test::test_observer"*)* @_ZN5boost9unit_test13test_observerD1Ev to i8*), i8* bitcast (void (%"class.boost::unit_test::test_observer"*)* @_ZN5boost9unit_test13test_observerD0Ev to i8*)]
@_ZTSN5boost9unit_test13test_observerE = linkonce_odr constant [34 x i8] c"N5boost9unit_test13test_observerE\00"
@_ZTIN5boost9unit_test13test_observerE = linkonce_odr unnamed_addr constant { i8*, i8* } { i8* bitcast (i8** getelementptr inbounds (i8** @_ZTVN10__cxxabiv117__class_type_infoE, i32 2) to i8*), i8* getelementptr inbounds ([34 x i8]* @_ZTSN5boost9unit_test13test_observerE, i32 0, i32 0) }
@_ZTV19backward_bool_names = linkonce_odr unnamed_addr constant [9 x i8*] [i8* null, i8* bitcast ({ i8*, i8*, i8* }* @_ZTI19backward_bool_names to i8*), i8* bitcast (void (%class.backward_bool_names*)* @_ZN19backward_bool_namesD1Ev to i8*), i8* bitcast (void (%class.backward_bool_names*)* @_ZN19backward_bool_namesD0Ev to i8*), i8* bitcast (i8 (%"class.std::numpunct"*)* @_ZNKSt8numpunctIcE16do_decimal_pointEv to i8*), i8* bitcast (i8 (%"class.std::numpunct"*)* @_ZNKSt8numpunctIcE16do_thousands_sepEv to i8*), i8* bitcast (void (%"class.std::basic_string"*, %"class.std::numpunct"*)* @_ZNKSt8numpunctIcE11do_groupingEv to i8*), i8* bitcast (void (%"class.std::basic_string"*, %class.backward_bool_names*)* @_ZNK19backward_bool_names11do_truenameEv to i8*), i8* bitcast (void (%"class.std::basic_string"*, %class.backward_bool_names*)* @_ZNK19backward_bool_names12do_falsenameEv to i8*)]
@.str87 = private unnamed_addr constant [6 x i8] c"eslaf\00", align 1
@.str88 = private unnamed_addr constant [5 x i8] c"eurt\00", align 1
@_ZTVSt15basic_stringbufIcSt11char_traitsIcESaIcEE = external unnamed_addr constant [16 x i8*]
@_ZZN5boost9unit_test12lazy_ostream8instanceEvE4inst = linkonce_odr global %"class.boost::unit_test::lazy_ostream" zeroinitializer, align 4
@_ZGVZN5boost9unit_test12lazy_ostream8instanceEvE4inst = linkonce_odr global i64 0
@llvm.global_ctors = appending global [1 x { i32, void ()* }] [{ i32, void ()* } { i32 65535, void ()* @_GLOBAL__I_a }]

define internal void @__cxx_global_var_init() section ".text.startup" {
entry:
  call void @_ZNSt8ios_base4InitC1Ev(%"class.std::ios_base::Init"* @_ZStL8__ioinit)
  %0 = call i32 @__cxa_atexit(void (i8*)* bitcast (void (%"class.std::ios_base::Init"*)* @_ZNSt8ios_base4InitD1Ev to void (i8*)*), i8* getelementptr inbounds (%"class.std::ios_base::Init"* @_ZStL8__ioinit, i32 0, i32 0), i8* @__dso_handle) nounwind
  ret void
}

declare void @_ZNSt8ios_base4InitC1Ev(%"class.std::ios_base::Init"*)

declare void @_ZNSt8ios_base4InitD1Ev(%"class.std::ios_base::Init"*)

declare i32 @__cxa_atexit(void (i8*)*, i8*, i8*) nounwind

define internal void @__cxx_global_var_init1() section ".text.startup" {
entry:
  %call = call %"class.boost::unit_test::unit_test_log_t"* @_ZN5boost9unit_test9singletonINS0_15unit_test_log_tEE8instanceEv()
  store %"class.boost::unit_test::unit_test_log_t"* %call, %"class.boost::unit_test::unit_test_log_t"** @_ZN5boost9unit_test12_GLOBAL__N_113unit_test_logE, align 4
  ret void
}

define linkonce_odr %"class.boost::unit_test::unit_test_log_t"* @_ZN5boost9unit_test9singletonINS0_15unit_test_log_tEE8instanceEv() align 2 {
entry:
  %exn.slot = alloca i8*
  %ehselector.slot = alloca i32
  %0 = load atomic i8* bitcast (i64* @_ZGVZN5boost9unit_test9singletonINS0_15unit_test_log_tEE8instanceEvE8the_inst to i8*) acquire, align 1
  %guard.uninitialized = icmp eq i8 %0, 0
  br i1 %guard.uninitialized, label %init.check, label %init.end

init.check:                                       ; preds = %entry
  %1 = call i32 @__cxa_guard_acquire(i64* @_ZGVZN5boost9unit_test9singletonINS0_15unit_test_log_tEE8instanceEvE8the_inst)
  %tobool = icmp ne i32 %1, 0
  br i1 %tobool, label %init, label %init.end

init:                                             ; preds = %init.check
  invoke void @_ZN5boost9unit_test15unit_test_log_tC1Ev(%"class.boost::unit_test::unit_test_log_t"* @_ZZN5boost9unit_test9singletonINS0_15unit_test_log_tEE8instanceEvE8the_inst)
          to label %invoke.cont unwind label %lpad

invoke.cont:                                      ; preds = %init
  %2 = call i32 @__cxa_atexit(void (i8*)* bitcast (void (%"class.boost::unit_test::unit_test_log_t"*)* @_ZN5boost9unit_test15unit_test_log_tD1Ev to void (i8*)*), i8* bitcast (%"class.boost::unit_test::unit_test_log_t"* @_ZZN5boost9unit_test9singletonINS0_15unit_test_log_tEE8instanceEvE8the_inst to i8*), i8* @__dso_handle) nounwind
  call void @__cxa_guard_release(i64* @_ZGVZN5boost9unit_test9singletonINS0_15unit_test_log_tEE8instanceEvE8the_inst)
  br label %init.end

init.end:                                         ; preds = %invoke.cont, %init.check, %entry
  ret %"class.boost::unit_test::unit_test_log_t"* @_ZZN5boost9unit_test9singletonINS0_15unit_test_log_tEE8instanceEvE8the_inst

lpad:                                             ; preds = %init
  %3 = landingpad { i8*, i32 } personality i8* bitcast (i32 (...)* @__gxx_personality_v0 to i8*)
          cleanup
  %4 = extractvalue { i8*, i32 } %3, 0
  store i8* %4, i8** %exn.slot
  %5 = extractvalue { i8*, i32 } %3, 1
  store i32 %5, i32* %ehselector.slot
  call void @__cxa_guard_abort(i64* @_ZGVZN5boost9unit_test9singletonINS0_15unit_test_log_tEE8instanceEvE8the_inst) nounwind
  br label %eh.resume

eh.resume:                                        ; preds = %lpad
  %exn = load i8** %exn.slot
  %sel = load i32* %ehselector.slot
  %lpad.val = insertvalue { i8*, i32 } undef, i8* %exn, 0
  %lpad.val1 = insertvalue { i8*, i32 } %lpad.val, i32 %sel, 1
  resume { i8*, i32 } %lpad.val1
}

define internal void @__cxx_global_var_init2() section ".text.startup" {
entry:
  %call = call i32 @_ZNSt8ios_base6xallocEv() nounwind
  store i32 %call, i32* @_ZL10word_index, align 4
  ret void
}

declare i32 @_ZNSt8ios_base6xallocEv() nounwind

define void @_Z25ios_flags_saver_unit_testv() {
entry:
  %ss = alloca %"class.std::basic_stringstream", align 4
  %agg.tmp = alloca %"class.boost::unit_test::basic_cstring", align 4
  %exn.slot = alloca i8*
  %ehselector.slot = alloca i32
  %agg.tmp1 = alloca %"class.boost::unit_test::basic_cstring", align 4
  %agg.tmp4 = alloca %"struct.boost::test_tools::tt_detail::equal_impl_frwd", align 1
  %ref.tmp = alloca %"class.boost::unit_test::lazy_ostream_impl", align 4
  %agg.tmp8 = alloca %"class.boost::unit_test::basic_cstring", align 4
  %ref.tmp13 = alloca i32, align 4
  %ref.tmp16 = alloca i32, align 4
  %ifs = alloca %"class.boost::io::ios_flags_saver", align 4
  %agg.tmp27 = alloca %"class.boost::unit_test::basic_cstring", align 4
  %agg.tmp30 = alloca %"class.boost::unit_test::basic_cstring", align 4
  %agg.tmp33 = alloca %"struct.boost::test_tools::tt_detail::equal_impl_frwd", align 1
  %ref.tmp34 = alloca %"class.boost::unit_test::lazy_ostream_impl", align 4
  %agg.tmp38 = alloca %"class.boost::unit_test::basic_cstring", align 4
  %ref.tmp43 = alloca i32, align 4
  %ref.tmp50 = alloca i32, align 4
  %agg.tmp66 = alloca %"class.boost::unit_test::basic_cstring", align 4
  %agg.tmp68 = alloca %"class.boost::unit_test::basic_cstring", align 4
  %agg.tmp71 = alloca %"struct.boost::test_tools::tt_detail::equal_impl_frwd", align 1
  %ref.tmp72 = alloca %"class.boost::unit_test::lazy_ostream_impl", align 4
  %agg.tmp76 = alloca %"class.boost::unit_test::basic_cstring", align 4
  %ref.tmp83 = alloca i32, align 4
  %ref.tmp90 = alloca i32, align 4
  %agg.tmp101 = alloca %"class.boost::unit_test::basic_cstring", align 4
  %agg.tmp103 = alloca %"class.boost::unit_test::basic_cstring", align 4
  %agg.tmp106 = alloca %"struct.boost::test_tools::tt_detail::equal_impl_frwd", align 1
  %ref.tmp107 = alloca %"class.boost::unit_test::lazy_ostream_impl", align 4
  %agg.tmp111 = alloca %"class.boost::unit_test::basic_cstring", align 4
  %ref.tmp116 = alloca i32, align 4
  %ref.tmp123 = alloca i32, align 4
  %ifs132 = alloca %"class.boost::io::ios_flags_saver", align 4
  %ref.tmp139 = alloca i32, align 4
  %agg.tmp142 = alloca %"class.boost::unit_test::basic_cstring", align 4
  %agg.tmp145 = alloca %"class.boost::unit_test::basic_cstring", align 4
  %agg.tmp148 = alloca %"struct.boost::test_tools::tt_detail::equal_impl_frwd", align 1
  %ref.tmp149 = alloca %"class.boost::unit_test::lazy_ostream_impl", align 4
  %agg.tmp153 = alloca %"class.boost::unit_test::basic_cstring", align 4
  %ref.tmp158 = alloca i32, align 4
  %ref.tmp165 = alloca i32, align 4
  %agg.tmp175 = alloca %"struct.std::_Setiosflags", align 4
  %agg.tmp180 = alloca %"class.boost::unit_test::basic_cstring", align 4
  %agg.tmp182 = alloca %"class.boost::unit_test::basic_cstring", align 4
  %agg.tmp185 = alloca %"struct.boost::test_tools::tt_detail::equal_impl_frwd", align 1
  %ref.tmp186 = alloca %"class.boost::unit_test::lazy_ostream_impl", align 4
  %agg.tmp190 = alloca %"class.boost::unit_test::basic_cstring", align 4
  %ref.tmp197 = alloca i32, align 4
  %ref.tmp204 = alloca i32, align 4
  %agg.tmp217 = alloca %"class.boost::unit_test::basic_cstring", align 4
  %agg.tmp219 = alloca %"class.boost::unit_test::basic_cstring", align 4
  %agg.tmp222 = alloca %"struct.boost::test_tools::tt_detail::equal_impl_frwd", align 1
  %ref.tmp223 = alloca %"class.boost::unit_test::lazy_ostream_impl", align 4
  %agg.tmp227 = alloca %"class.boost::unit_test::basic_cstring", align 4
  %ref.tmp232 = alloca i32, align 4
  %ref.tmp239 = alloca i32, align 4
  %call = call i32 @_ZStorSt13_Ios_OpenmodeS_(i32 16, i32 8)
  call void @_ZNSt18basic_stringstreamIcSt11char_traitsIcESaIcEEC1ESt13_Ios_Openmode(%"class.std::basic_stringstream"* %ss, i32 %call)
  br label %do.body

do.body:                                          ; preds = %do.cond, %entry
  %0 = load %"class.boost::unit_test::unit_test_log_t"** @_ZN5boost9unit_test12_GLOBAL__N_113unit_test_logE, align 4
  invoke void @_ZN5boost9unit_test13basic_cstringIKcEC1EPS2_j(%"class.boost::unit_test::basic_cstring"* %agg.tmp, i8* getelementptr inbounds ([24 x i8]* @.str, i32 0, i32 0), i32 23)
          to label %invoke.cont unwind label %lpad

invoke.cont:                                      ; preds = %do.body
  invoke void @_ZN5boost9unit_test13basic_cstringIKcEC1Ev(%"class.boost::unit_test::basic_cstring"* %agg.tmp1)
          to label %invoke.cont2 unwind label %lpad

invoke.cont2:                                     ; preds = %invoke.cont
  invoke void @_ZN5boost9unit_test15unit_test_log_t14set_checkpointENS0_13basic_cstringIKcEEjS4_(%"class.boost::unit_test::unit_test_log_t"* %0, %"class.boost::unit_test::basic_cstring"* byval align 4 %agg.tmp, i32 59, %"class.boost::unit_test::basic_cstring"* byval align 4 %agg.tmp1)
          to label %invoke.cont3 unwind label %lpad

invoke.cont3:                                     ; preds = %invoke.cont2
  %call6 = invoke %"class.boost::unit_test::lazy_ostream"* @_ZN5boost9unit_test12lazy_ostream8instanceEv()
          to label %invoke.cont5 unwind label %lpad

invoke.cont5:                                     ; preds = %invoke.cont3
  invoke void @_ZN5boost9unit_testlsIA1_cEENS0_17lazy_ostream_implIRKT_EERKNS0_12lazy_ostreamES6_(%"class.boost::unit_test::lazy_ostream_impl"* sret %ref.tmp, %"class.boost::unit_test::lazy_ostream"* %call6, [1 x i8]* @.str3)
          to label %invoke.cont7 unwind label %lpad

invoke.cont7:                                     ; preds = %invoke.cont5
  %1 = bitcast %"class.boost::unit_test::lazy_ostream_impl"* %ref.tmp to %"class.boost::unit_test::lazy_ostream"*
  invoke void @_ZN5boost9unit_test13basic_cstringIKcEC1EPS2_j(%"class.boost::unit_test::basic_cstring"* %agg.tmp8, i8* getelementptr inbounds ([24 x i8]* @.str, i32 0, i32 0), i32 23)
          to label %invoke.cont10 unwind label %lpad9

invoke.cont10:                                    ; preds = %invoke.cont7
  %call12 = invoke i32 @_ZStorSt13_Ios_FmtflagsS_(i32 4096, i32 2)
          to label %invoke.cont11 unwind label %lpad9

invoke.cont11:                                    ; preds = %invoke.cont10
  store i32 %call12, i32* %ref.tmp13, align 4
  %2 = bitcast %"class.std::basic_stringstream"* %ss to i8**
  %vtable = load i8** %2
  %vbase.offset.ptr = getelementptr i8* %vtable, i64 -12
  %3 = bitcast i8* %vbase.offset.ptr to i32*
  %vbase.offset = load i32* %3
  %4 = bitcast %"class.std::basic_stringstream"* %ss to i8*
  %add.ptr = getelementptr inbounds i8* %4, i32 %vbase.offset
  %5 = bitcast i8* %add.ptr to %"class.std::ios_base"*
  %call15 = invoke i32 @_ZNKSt8ios_base5flagsEv(%"class.std::ios_base"* %5)
          to label %invoke.cont14 unwind label %lpad9

invoke.cont14:                                    ; preds = %invoke.cont11
  store i32 %call15, i32* %ref.tmp16, align 4
  %call18 = invoke zeroext i1 @_ZN5boost10test_tools9tt_detail10check_frwdINS1_15equal_impl_frwdESt13_Ios_FmtflagsS4_EEbT_RKNS_9unit_test12lazy_ostreamENS6_13basic_cstringIKcEEjNS1_10tool_levelENS1_10check_typeERKT0_PSB_RKT1_SI_(%"class.boost::unit_test::lazy_ostream"* %1, %"class.boost::unit_test::basic_cstring"* byval align 4 %agg.tmp8, i32 59, i32 1, i32 2, i32* %ref.tmp13, i8* getelementptr inbounds ([35 x i8]* @.str4, i32 0, i32 0), i32* %ref.tmp16, i8* getelementptr inbounds ([11 x i8]* @.str5, i32 0, i32 0))
          to label %invoke.cont17 unwind label %lpad9

invoke.cont17:                                    ; preds = %invoke.cont14
  invoke void @_ZN5boost9unit_test17lazy_ostream_implIRA1_KcED1Ev(%"class.boost::unit_test::lazy_ostream_impl"* %ref.tmp)
          to label %invoke.cont19 unwind label %lpad

invoke.cont19:                                    ; preds = %invoke.cont17
  br label %do.cond

do.cond:                                          ; preds = %invoke.cont19
  %6 = load i8* @_ZN5boost10test_tools12_GLOBAL__N_110dummy_condE, align 1
  %tobool = trunc i8 %6 to i1
  br i1 %tobool, label %do.body, label %do.end

do.end:                                           ; preds = %do.cond
  %7 = bitcast %"class.std::basic_stringstream"* %ss to i8**
  %vtable21 = load i8** %7
  %vbase.offset.ptr22 = getelementptr i8* %vtable21, i64 -12
  %8 = bitcast i8* %vbase.offset.ptr22 to i32*
  %vbase.offset23 = load i32* %8
  %9 = bitcast %"class.std::basic_stringstream"* %ss to i8*
  %add.ptr24 = getelementptr inbounds i8* %9, i32 %vbase.offset23
  %10 = bitcast i8* %add.ptr24 to %"class.std::ios_base"*
  invoke void @_ZN5boost2io15ios_flags_saverC1ERSt8ios_base(%"class.boost::io::ios_flags_saver"* %ifs, %"class.std::ios_base"* %10)
          to label %invoke.cont25 unwind label %lpad

invoke.cont25:                                    ; preds = %do.end
  br label %do.body26

do.body26:                                        ; preds = %do.cond55, %invoke.cont25
  %11 = load %"class.boost::unit_test::unit_test_log_t"** @_ZN5boost9unit_test12_GLOBAL__N_113unit_test_logE, align 4
  invoke void @_ZN5boost9unit_test13basic_cstringIKcEC1EPS2_j(%"class.boost::unit_test::basic_cstring"* %agg.tmp27, i8* getelementptr inbounds ([24 x i8]* @.str, i32 0, i32 0), i32 23)
          to label %invoke.cont29 unwind label %lpad28

invoke.cont29:                                    ; preds = %do.body26
  invoke void @_ZN5boost9unit_test13basic_cstringIKcEC1Ev(%"class.boost::unit_test::basic_cstring"* %agg.tmp30)
          to label %invoke.cont31 unwind label %lpad28

invoke.cont31:                                    ; preds = %invoke.cont29
  invoke void @_ZN5boost9unit_test15unit_test_log_t14set_checkpointENS0_13basic_cstringIKcEEjS4_(%"class.boost::unit_test::unit_test_log_t"* %11, %"class.boost::unit_test::basic_cstring"* byval align 4 %agg.tmp27, i32 64, %"class.boost::unit_test::basic_cstring"* byval align 4 %agg.tmp30)
          to label %invoke.cont32 unwind label %lpad28

invoke.cont32:                                    ; preds = %invoke.cont31
  %call36 = invoke %"class.boost::unit_test::lazy_ostream"* @_ZN5boost9unit_test12lazy_ostream8instanceEv()
          to label %invoke.cont35 unwind label %lpad28

invoke.cont35:                                    ; preds = %invoke.cont32
  invoke void @_ZN5boost9unit_testlsIA1_cEENS0_17lazy_ostream_implIRKT_EERKNS0_12lazy_ostreamES6_(%"class.boost::unit_test::lazy_ostream_impl"* sret %ref.tmp34, %"class.boost::unit_test::lazy_ostream"* %call36, [1 x i8]* @.str3)
          to label %invoke.cont37 unwind label %lpad28

invoke.cont37:                                    ; preds = %invoke.cont35
  %12 = bitcast %"class.boost::unit_test::lazy_ostream_impl"* %ref.tmp34 to %"class.boost::unit_test::lazy_ostream"*
  invoke void @_ZN5boost9unit_test13basic_cstringIKcEC1EPS2_j(%"class.boost::unit_test::basic_cstring"* %agg.tmp38, i8* getelementptr inbounds ([24 x i8]* @.str, i32 0, i32 0), i32 23)
          to label %invoke.cont40 unwind label %lpad39

invoke.cont40:                                    ; preds = %invoke.cont37
  %call42 = invoke i32 @_ZStorSt13_Ios_FmtflagsS_(i32 4096, i32 2)
          to label %invoke.cont41 unwind label %lpad39

invoke.cont41:                                    ; preds = %invoke.cont40
  store i32 %call42, i32* %ref.tmp43, align 4
  %13 = bitcast %"class.std::basic_stringstream"* %ss to i8**
  %vtable44 = load i8** %13
  %vbase.offset.ptr45 = getelementptr i8* %vtable44, i64 -12
  %14 = bitcast i8* %vbase.offset.ptr45 to i32*
  %vbase.offset46 = load i32* %14
  %15 = bitcast %"class.std::basic_stringstream"* %ss to i8*
  %add.ptr47 = getelementptr inbounds i8* %15, i32 %vbase.offset46
  %16 = bitcast i8* %add.ptr47 to %"class.std::ios_base"*
  %call49 = invoke i32 @_ZNKSt8ios_base5flagsEv(%"class.std::ios_base"* %16)
          to label %invoke.cont48 unwind label %lpad39

invoke.cont48:                                    ; preds = %invoke.cont41
  store i32 %call49, i32* %ref.tmp50, align 4
  %call52 = invoke zeroext i1 @_ZN5boost10test_tools9tt_detail10check_frwdINS1_15equal_impl_frwdESt13_Ios_FmtflagsS4_EEbT_RKNS_9unit_test12lazy_ostreamENS6_13basic_cstringIKcEEjNS1_10tool_levelENS1_10check_typeERKT0_PSB_RKT1_SI_(%"class.boost::unit_test::lazy_ostream"* %12, %"class.boost::unit_test::basic_cstring"* byval align 4 %agg.tmp38, i32 64, i32 1, i32 2, i32* %ref.tmp43, i8* getelementptr inbounds ([35 x i8]* @.str4, i32 0, i32 0), i32* %ref.tmp50, i8* getelementptr inbounds ([11 x i8]* @.str5, i32 0, i32 0))
          to label %invoke.cont51 unwind label %lpad39

invoke.cont51:                                    ; preds = %invoke.cont48
  invoke void @_ZN5boost9unit_test17lazy_ostream_implIRA1_KcED1Ev(%"class.boost::unit_test::lazy_ostream_impl"* %ref.tmp34)
          to label %invoke.cont53 unwind label %lpad28

invoke.cont53:                                    ; preds = %invoke.cont51
  br label %do.cond55

do.cond55:                                        ; preds = %invoke.cont53
  %17 = load i8* @_ZN5boost10test_tools12_GLOBAL__N_110dummy_condE, align 1
  %tobool56 = trunc i8 %17 to i1
  br i1 %tobool56, label %do.body26, label %do.end57

do.end57:                                         ; preds = %do.cond55
  %18 = bitcast %"class.std::basic_stringstream"* %ss to i8*
  %add.ptr58 = getelementptr inbounds i8* %18, i32 8
  %19 = bitcast i8* %add.ptr58 to %"class.std::basic_ostream"*
  %call60 = invoke %"class.std::basic_ostream"* @_ZNSolsEPFRSt8ios_baseS0_E(%"class.std::basic_ostream"* %19, %"class.std::ios_base"* (%"class.std::ios_base"*)* @_ZSt8noskipwsRSt8ios_base)
          to label %invoke.cont59 unwind label %lpad28

invoke.cont59:                                    ; preds = %do.end57
  %call62 = invoke %"class.std::basic_ostream"* @_ZNSolsEPFRSt8ios_baseS0_E(%"class.std::basic_ostream"* %call60, %"class.std::ios_base"* (%"class.std::ios_base"*)* @_ZSt5fixedRSt8ios_base)
          to label %invoke.cont61 unwind label %lpad28

invoke.cont61:                                    ; preds = %invoke.cont59
  %call64 = invoke %"class.std::basic_ostream"* @_ZNSolsEPFRSt8ios_baseS0_E(%"class.std::basic_ostream"* %call62, %"class.std::ios_base"* (%"class.std::ios_base"*)* @_ZSt9boolalphaRSt8ios_base)
          to label %invoke.cont63 unwind label %lpad28

invoke.cont63:                                    ; preds = %invoke.cont61
  br label %do.body65

do.body65:                                        ; preds = %do.cond95, %invoke.cont63
  %20 = load %"class.boost::unit_test::unit_test_log_t"** @_ZN5boost9unit_test12_GLOBAL__N_113unit_test_logE, align 4
  invoke void @_ZN5boost9unit_test13basic_cstringIKcEC1EPS2_j(%"class.boost::unit_test::basic_cstring"* %agg.tmp66, i8* getelementptr inbounds ([24 x i8]* @.str, i32 0, i32 0), i32 23)
          to label %invoke.cont67 unwind label %lpad28

invoke.cont67:                                    ; preds = %do.body65
  invoke void @_ZN5boost9unit_test13basic_cstringIKcEC1Ev(%"class.boost::unit_test::basic_cstring"* %agg.tmp68)
          to label %invoke.cont69 unwind label %lpad28

invoke.cont69:                                    ; preds = %invoke.cont67
  invoke void @_ZN5boost9unit_test15unit_test_log_t14set_checkpointENS0_13basic_cstringIKcEEjS4_(%"class.boost::unit_test::unit_test_log_t"* %20, %"class.boost::unit_test::basic_cstring"* byval align 4 %agg.tmp66, i32 68, %"class.boost::unit_test::basic_cstring"* byval align 4 %agg.tmp68)
          to label %invoke.cont70 unwind label %lpad28

invoke.cont70:                                    ; preds = %invoke.cont69
  %call74 = invoke %"class.boost::unit_test::lazy_ostream"* @_ZN5boost9unit_test12lazy_ostream8instanceEv()
          to label %invoke.cont73 unwind label %lpad28

invoke.cont73:                                    ; preds = %invoke.cont70
  invoke void @_ZN5boost9unit_testlsIA1_cEENS0_17lazy_ostream_implIRKT_EERKNS0_12lazy_ostreamES6_(%"class.boost::unit_test::lazy_ostream_impl"* sret %ref.tmp72, %"class.boost::unit_test::lazy_ostream"* %call74, [1 x i8]* @.str3)
          to label %invoke.cont75 unwind label %lpad28

invoke.cont75:                                    ; preds = %invoke.cont73
  %21 = bitcast %"class.boost::unit_test::lazy_ostream_impl"* %ref.tmp72 to %"class.boost::unit_test::lazy_ostream"*
  invoke void @_ZN5boost9unit_test13basic_cstringIKcEC1EPS2_j(%"class.boost::unit_test::basic_cstring"* %agg.tmp76, i8* getelementptr inbounds ([24 x i8]* @.str, i32 0, i32 0), i32 23)
          to label %invoke.cont78 unwind label %lpad77

invoke.cont78:                                    ; preds = %invoke.cont75
  %call80 = invoke i32 @_ZStorSt13_Ios_FmtflagsS_(i32 1, i32 2)
          to label %invoke.cont79 unwind label %lpad77

invoke.cont79:                                    ; preds = %invoke.cont78
  %call82 = invoke i32 @_ZStorSt13_Ios_FmtflagsS_(i32 %call80, i32 4)
          to label %invoke.cont81 unwind label %lpad77

invoke.cont81:                                    ; preds = %invoke.cont79
  store i32 %call82, i32* %ref.tmp83, align 4
  %22 = bitcast %"class.std::basic_stringstream"* %ss to i8**
  %vtable84 = load i8** %22
  %vbase.offset.ptr85 = getelementptr i8* %vtable84, i64 -12
  %23 = bitcast i8* %vbase.offset.ptr85 to i32*
  %vbase.offset86 = load i32* %23
  %24 = bitcast %"class.std::basic_stringstream"* %ss to i8*
  %add.ptr87 = getelementptr inbounds i8* %24, i32 %vbase.offset86
  %25 = bitcast i8* %add.ptr87 to %"class.std::ios_base"*
  %call89 = invoke i32 @_ZNKSt8ios_base5flagsEv(%"class.std::ios_base"* %25)
          to label %invoke.cont88 unwind label %lpad77

invoke.cont88:                                    ; preds = %invoke.cont81
  store i32 %call89, i32* %ref.tmp90, align 4
  %call92 = invoke zeroext i1 @_ZN5boost10test_tools9tt_detail10check_frwdINS1_15equal_impl_frwdESt13_Ios_FmtflagsS4_EEbT_RKNS_9unit_test12lazy_ostreamENS6_13basic_cstringIKcEEjNS1_10tool_levelENS1_10check_typeERKT0_PSB_RKT1_SI_(%"class.boost::unit_test::lazy_ostream"* %21, %"class.boost::unit_test::basic_cstring"* byval align 4 %agg.tmp76, i32 68, i32 1, i32 2, i32* %ref.tmp83, i8* getelementptr inbounds ([56 x i8]* @.str6, i32 0, i32 0), i32* %ref.tmp90, i8* getelementptr inbounds ([11 x i8]* @.str5, i32 0, i32 0))
          to label %invoke.cont91 unwind label %lpad77

invoke.cont91:                                    ; preds = %invoke.cont88
  invoke void @_ZN5boost9unit_test17lazy_ostream_implIRA1_KcED1Ev(%"class.boost::unit_test::lazy_ostream_impl"* %ref.tmp72)
          to label %invoke.cont93 unwind label %lpad28

invoke.cont93:                                    ; preds = %invoke.cont91
  br label %do.cond95

do.cond95:                                        ; preds = %invoke.cont93
  %26 = load i8* @_ZN5boost10test_tools12_GLOBAL__N_110dummy_condE, align 1
  %tobool96 = trunc i8 %26 to i1
  br i1 %tobool96, label %do.body65, label %do.end97

do.end97:                                         ; preds = %do.cond95
  invoke void @_ZN5boost2io15ios_flags_saverD1Ev(%"class.boost::io::ios_flags_saver"* %ifs)
          to label %invoke.cont98 unwind label %lpad

invoke.cont98:                                    ; preds = %do.end97
  br label %do.body100

do.body100:                                       ; preds = %do.cond129, %invoke.cont98
  %27 = load %"class.boost::unit_test::unit_test_log_t"** @_ZN5boost9unit_test12_GLOBAL__N_113unit_test_logE, align 4
  invoke void @_ZN5boost9unit_test13basic_cstringIKcEC1EPS2_j(%"class.boost::unit_test::basic_cstring"* %agg.tmp101, i8* getelementptr inbounds ([24 x i8]* @.str, i32 0, i32 0), i32 23)
          to label %invoke.cont102 unwind label %lpad

invoke.cont102:                                   ; preds = %do.body100
  invoke void @_ZN5boost9unit_test13basic_cstringIKcEC1Ev(%"class.boost::unit_test::basic_cstring"* %agg.tmp103)
          to label %invoke.cont104 unwind label %lpad

invoke.cont104:                                   ; preds = %invoke.cont102
  invoke void @_ZN5boost9unit_test15unit_test_log_t14set_checkpointENS0_13basic_cstringIKcEEjS4_(%"class.boost::unit_test::unit_test_log_t"* %27, %"class.boost::unit_test::basic_cstring"* byval align 4 %agg.tmp101, i32 71, %"class.boost::unit_test::basic_cstring"* byval align 4 %agg.tmp103)
          to label %invoke.cont105 unwind label %lpad

invoke.cont105:                                   ; preds = %invoke.cont104
  %call109 = invoke %"class.boost::unit_test::lazy_ostream"* @_ZN5boost9unit_test12lazy_ostream8instanceEv()
          to label %invoke.cont108 unwind label %lpad

invoke.cont108:                                   ; preds = %invoke.cont105
  invoke void @_ZN5boost9unit_testlsIA1_cEENS0_17lazy_ostream_implIRKT_EERKNS0_12lazy_ostreamES6_(%"class.boost::unit_test::lazy_ostream_impl"* sret %ref.tmp107, %"class.boost::unit_test::lazy_ostream"* %call109, [1 x i8]* @.str3)
          to label %invoke.cont110 unwind label %lpad

invoke.cont110:                                   ; preds = %invoke.cont108
  %28 = bitcast %"class.boost::unit_test::lazy_ostream_impl"* %ref.tmp107 to %"class.boost::unit_test::lazy_ostream"*
  invoke void @_ZN5boost9unit_test13basic_cstringIKcEC1EPS2_j(%"class.boost::unit_test::basic_cstring"* %agg.tmp111, i8* getelementptr inbounds ([24 x i8]* @.str, i32 0, i32 0), i32 23)
          to label %invoke.cont113 unwind label %lpad112

invoke.cont113:                                   ; preds = %invoke.cont110
  %call115 = invoke i32 @_ZStorSt13_Ios_FmtflagsS_(i32 4096, i32 2)
          to label %invoke.cont114 unwind label %lpad112

invoke.cont114:                                   ; preds = %invoke.cont113
  store i32 %call115, i32* %ref.tmp116, align 4
  %29 = bitcast %"class.std::basic_stringstream"* %ss to i8**
  %vtable117 = load i8** %29
  %vbase.offset.ptr118 = getelementptr i8* %vtable117, i64 -12
  %30 = bitcast i8* %vbase.offset.ptr118 to i32*
  %vbase.offset119 = load i32* %30
  %31 = bitcast %"class.std::basic_stringstream"* %ss to i8*
  %add.ptr120 = getelementptr inbounds i8* %31, i32 %vbase.offset119
  %32 = bitcast i8* %add.ptr120 to %"class.std::ios_base"*
  %call122 = invoke i32 @_ZNKSt8ios_base5flagsEv(%"class.std::ios_base"* %32)
          to label %invoke.cont121 unwind label %lpad112

invoke.cont121:                                   ; preds = %invoke.cont114
  store i32 %call122, i32* %ref.tmp123, align 4
  %call125 = invoke zeroext i1 @_ZN5boost10test_tools9tt_detail10check_frwdINS1_15equal_impl_frwdESt13_Ios_FmtflagsS4_EEbT_RKNS_9unit_test12lazy_ostreamENS6_13basic_cstringIKcEEjNS1_10tool_levelENS1_10check_typeERKT0_PSB_RKT1_SI_(%"class.boost::unit_test::lazy_ostream"* %28, %"class.boost::unit_test::basic_cstring"* byval align 4 %agg.tmp111, i32 71, i32 1, i32 2, i32* %ref.tmp116, i8* getelementptr inbounds ([35 x i8]* @.str4, i32 0, i32 0), i32* %ref.tmp123, i8* getelementptr inbounds ([11 x i8]* @.str5, i32 0, i32 0))
          to label %invoke.cont124 unwind label %lpad112

invoke.cont124:                                   ; preds = %invoke.cont121
  invoke void @_ZN5boost9unit_test17lazy_ostream_implIRA1_KcED1Ev(%"class.boost::unit_test::lazy_ostream_impl"* %ref.tmp107)
          to label %invoke.cont126 unwind label %lpad

invoke.cont126:                                   ; preds = %invoke.cont124
  br label %do.cond129

do.cond129:                                       ; preds = %invoke.cont126
  %33 = load i8* @_ZN5boost10test_tools12_GLOBAL__N_110dummy_condE, align 1
  %tobool130 = trunc i8 %33 to i1
  br i1 %tobool130, label %do.body100, label %do.end131

do.end131:                                        ; preds = %do.cond129
  %34 = bitcast %"class.std::basic_stringstream"* %ss to i8**
  %vtable133 = load i8** %34
  %vbase.offset.ptr134 = getelementptr i8* %vtable133, i64 -12
  %35 = bitcast i8* %vbase.offset.ptr134 to i32*
  %vbase.offset135 = load i32* %35
  %36 = bitcast %"class.std::basic_stringstream"* %ss to i8*
  %add.ptr136 = getelementptr inbounds i8* %36, i32 %vbase.offset135
  %37 = bitcast i8* %add.ptr136 to %"class.std::ios_base"*
  %call138 = invoke i32 @_ZStorSt13_Ios_FmtflagsS_(i32 512, i32 16)
          to label %invoke.cont137 unwind label %lpad

invoke.cont137:                                   ; preds = %do.end131
  store i32 %call138, i32* %ref.tmp139, align 4
  invoke void @_ZN5boost2io15ios_flags_saverC1ERSt8ios_baseRKSt13_Ios_Fmtflags(%"class.boost::io::ios_flags_saver"* %ifs132, %"class.std::ios_base"* %37, i32* %ref.tmp139)
          to label %invoke.cont140 unwind label %lpad

invoke.cont140:                                   ; preds = %invoke.cont137
  br label %do.body141

do.body141:                                       ; preds = %do.cond171, %invoke.cont140
  %38 = load %"class.boost::unit_test::unit_test_log_t"** @_ZN5boost9unit_test12_GLOBAL__N_113unit_test_logE, align 4
  invoke void @_ZN5boost9unit_test13basic_cstringIKcEC1EPS2_j(%"class.boost::unit_test::basic_cstring"* %agg.tmp142, i8* getelementptr inbounds ([24 x i8]* @.str, i32 0, i32 0), i32 23)
          to label %invoke.cont144 unwind label %lpad143

invoke.cont144:                                   ; preds = %do.body141
  invoke void @_ZN5boost9unit_test13basic_cstringIKcEC1Ev(%"class.boost::unit_test::basic_cstring"* %agg.tmp145)
          to label %invoke.cont146 unwind label %lpad143

invoke.cont146:                                   ; preds = %invoke.cont144
  invoke void @_ZN5boost9unit_test15unit_test_log_t14set_checkpointENS0_13basic_cstringIKcEEjS4_(%"class.boost::unit_test::unit_test_log_t"* %38, %"class.boost::unit_test::basic_cstring"* byval align 4 %agg.tmp142, i32 78, %"class.boost::unit_test::basic_cstring"* byval align 4 %agg.tmp145)
          to label %invoke.cont147 unwind label %lpad143

invoke.cont147:                                   ; preds = %invoke.cont146
  %call151 = invoke %"class.boost::unit_test::lazy_ostream"* @_ZN5boost9unit_test12lazy_ostream8instanceEv()
          to label %invoke.cont150 unwind label %lpad143

invoke.cont150:                                   ; preds = %invoke.cont147
  invoke void @_ZN5boost9unit_testlsIA1_cEENS0_17lazy_ostream_implIRKT_EERKNS0_12lazy_ostreamES6_(%"class.boost::unit_test::lazy_ostream_impl"* sret %ref.tmp149, %"class.boost::unit_test::lazy_ostream"* %call151, [1 x i8]* @.str3)
          to label %invoke.cont152 unwind label %lpad143

invoke.cont152:                                   ; preds = %invoke.cont150
  %39 = bitcast %"class.boost::unit_test::lazy_ostream_impl"* %ref.tmp149 to %"class.boost::unit_test::lazy_ostream"*
  invoke void @_ZN5boost9unit_test13basic_cstringIKcEC1EPS2_j(%"class.boost::unit_test::basic_cstring"* %agg.tmp153, i8* getelementptr inbounds ([24 x i8]* @.str, i32 0, i32 0), i32 23)
          to label %invoke.cont155 unwind label %lpad154

invoke.cont155:                                   ; preds = %invoke.cont152
  %call157 = invoke i32 @_ZStorSt13_Ios_FmtflagsS_(i32 512, i32 16)
          to label %invoke.cont156 unwind label %lpad154

invoke.cont156:                                   ; preds = %invoke.cont155
  store i32 %call157, i32* %ref.tmp158, align 4
  %40 = bitcast %"class.std::basic_stringstream"* %ss to i8**
  %vtable159 = load i8** %40
  %vbase.offset.ptr160 = getelementptr i8* %vtable159, i64 -12
  %41 = bitcast i8* %vbase.offset.ptr160 to i32*
  %vbase.offset161 = load i32* %41
  %42 = bitcast %"class.std::basic_stringstream"* %ss to i8*
  %add.ptr162 = getelementptr inbounds i8* %42, i32 %vbase.offset161
  %43 = bitcast i8* %add.ptr162 to %"class.std::ios_base"*
  %call164 = invoke i32 @_ZNKSt8ios_base5flagsEv(%"class.std::ios_base"* %43)
          to label %invoke.cont163 unwind label %lpad154

invoke.cont163:                                   ; preds = %invoke.cont156
  store i32 %call164, i32* %ref.tmp165, align 4
  %call167 = invoke zeroext i1 @_ZN5boost10test_tools9tt_detail10check_frwdINS1_15equal_impl_frwdESt13_Ios_FmtflagsS4_EEbT_RKNS_9unit_test12lazy_ostreamENS6_13basic_cstringIKcEEjNS1_10tool_levelENS1_10check_typeERKT0_PSB_RKT1_SI_(%"class.boost::unit_test::lazy_ostream"* %39, %"class.boost::unit_test::basic_cstring"* byval align 4 %agg.tmp153, i32 78, i32 1, i32 2, i32* %ref.tmp158, i8* getelementptr inbounds ([42 x i8]* @.str7, i32 0, i32 0), i32* %ref.tmp165, i8* getelementptr inbounds ([11 x i8]* @.str5, i32 0, i32 0))
          to label %invoke.cont166 unwind label %lpad154

invoke.cont166:                                   ; preds = %invoke.cont163
  invoke void @_ZN5boost9unit_test17lazy_ostream_implIRA1_KcED1Ev(%"class.boost::unit_test::lazy_ostream_impl"* %ref.tmp149)
          to label %invoke.cont168 unwind label %lpad143

invoke.cont168:                                   ; preds = %invoke.cont166
  br label %do.cond171

do.cond171:                                       ; preds = %invoke.cont168
  %44 = load i8* @_ZN5boost10test_tools12_GLOBAL__N_110dummy_condE, align 1
  %tobool172 = trunc i8 %44 to i1
  br i1 %tobool172, label %do.body141, label %do.end173

do.end173:                                        ; preds = %do.cond171
  %45 = bitcast %"class.std::basic_stringstream"* %ss to i8*
  %add.ptr174 = getelementptr inbounds i8* %45, i32 8
  %46 = bitcast i8* %add.ptr174 to %"class.std::basic_ostream"*
  invoke void @_ZSt11setiosflagsSt13_Ios_Fmtflags(%"struct.std::_Setiosflags"* sret %agg.tmp175, i32 8192)
          to label %invoke.cont176 unwind label %lpad143

invoke.cont176:                                   ; preds = %do.end173
  %call178 = invoke %"class.std::basic_ostream"* @_ZStlsIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_St12_Setiosflags(%"class.std::basic_ostream"* %46, %"struct.std::_Setiosflags"* byval align 4 %agg.tmp175)
          to label %invoke.cont177 unwind label %lpad143

invoke.cont177:                                   ; preds = %invoke.cont176
  br label %do.body179

do.body179:                                       ; preds = %do.cond210, %invoke.cont177
  %47 = load %"class.boost::unit_test::unit_test_log_t"** @_ZN5boost9unit_test12_GLOBAL__N_113unit_test_logE, align 4
  invoke void @_ZN5boost9unit_test13basic_cstringIKcEC1EPS2_j(%"class.boost::unit_test::basic_cstring"* %agg.tmp180, i8* getelementptr inbounds ([24 x i8]* @.str, i32 0, i32 0), i32 23)
          to label %invoke.cont181 unwind label %lpad143

invoke.cont181:                                   ; preds = %do.body179
  invoke void @_ZN5boost9unit_test13basic_cstringIKcEC1Ev(%"class.boost::unit_test::basic_cstring"* %agg.tmp182)
          to label %invoke.cont183 unwind label %lpad143

invoke.cont183:                                   ; preds = %invoke.cont181
  invoke void @_ZN5boost9unit_test15unit_test_log_t14set_checkpointENS0_13basic_cstringIKcEEjS4_(%"class.boost::unit_test::unit_test_log_t"* %47, %"class.boost::unit_test::basic_cstring"* byval align 4 %agg.tmp180, i32 82, %"class.boost::unit_test::basic_cstring"* byval align 4 %agg.tmp182)
          to label %invoke.cont184 unwind label %lpad143

invoke.cont184:                                   ; preds = %invoke.cont183
  %call188 = invoke %"class.boost::unit_test::lazy_ostream"* @_ZN5boost9unit_test12lazy_ostream8instanceEv()
          to label %invoke.cont187 unwind label %lpad143

invoke.cont187:                                   ; preds = %invoke.cont184
  invoke void @_ZN5boost9unit_testlsIA1_cEENS0_17lazy_ostream_implIRKT_EERKNS0_12lazy_ostreamES6_(%"class.boost::unit_test::lazy_ostream_impl"* sret %ref.tmp186, %"class.boost::unit_test::lazy_ostream"* %call188, [1 x i8]* @.str3)
          to label %invoke.cont189 unwind label %lpad143

invoke.cont189:                                   ; preds = %invoke.cont187
  %48 = bitcast %"class.boost::unit_test::lazy_ostream_impl"* %ref.tmp186 to %"class.boost::unit_test::lazy_ostream"*
  invoke void @_ZN5boost9unit_test13basic_cstringIKcEC1EPS2_j(%"class.boost::unit_test::basic_cstring"* %agg.tmp190, i8* getelementptr inbounds ([24 x i8]* @.str, i32 0, i32 0), i32 23)
          to label %invoke.cont192 unwind label %lpad191

invoke.cont192:                                   ; preds = %invoke.cont189
  %call194 = invoke i32 @_ZStorSt13_Ios_FmtflagsS_(i32 512, i32 16)
          to label %invoke.cont193 unwind label %lpad191

invoke.cont193:                                   ; preds = %invoke.cont192
  %call196 = invoke i32 @_ZStorSt13_Ios_FmtflagsS_(i32 %call194, i32 8192)
          to label %invoke.cont195 unwind label %lpad191

invoke.cont195:                                   ; preds = %invoke.cont193
  store i32 %call196, i32* %ref.tmp197, align 4
  %49 = bitcast %"class.std::basic_stringstream"* %ss to i8**
  %vtable198 = load i8** %49
  %vbase.offset.ptr199 = getelementptr i8* %vtable198, i64 -12
  %50 = bitcast i8* %vbase.offset.ptr199 to i32*
  %vbase.offset200 = load i32* %50
  %51 = bitcast %"class.std::basic_stringstream"* %ss to i8*
  %add.ptr201 = getelementptr inbounds i8* %51, i32 %vbase.offset200
  %52 = bitcast i8* %add.ptr201 to %"class.std::ios_base"*
  %call203 = invoke i32 @_ZNKSt8ios_base5flagsEv(%"class.std::ios_base"* %52)
          to label %invoke.cont202 unwind label %lpad191

invoke.cont202:                                   ; preds = %invoke.cont195
  store i32 %call203, i32* %ref.tmp204, align 4
  %call206 = invoke zeroext i1 @_ZN5boost10test_tools9tt_detail10check_frwdINS1_15equal_impl_frwdESt13_Ios_FmtflagsS4_EEbT_RKNS_9unit_test12lazy_ostreamENS6_13basic_cstringIKcEEjNS1_10tool_levelENS1_10check_typeERKT0_PSB_RKT1_SI_(%"class.boost::unit_test::lazy_ostream"* %48, %"class.boost::unit_test::basic_cstring"* byval align 4 %agg.tmp190, i32 82, i32 1, i32 2, i32* %ref.tmp197, i8* getelementptr inbounds ([62 x i8]* @.str8, i32 0, i32 0), i32* %ref.tmp204, i8* getelementptr inbounds ([11 x i8]* @.str5, i32 0, i32 0))
          to label %invoke.cont205 unwind label %lpad191

invoke.cont205:                                   ; preds = %invoke.cont202
  invoke void @_ZN5boost9unit_test17lazy_ostream_implIRA1_KcED1Ev(%"class.boost::unit_test::lazy_ostream_impl"* %ref.tmp186)
          to label %invoke.cont207 unwind label %lpad143

invoke.cont207:                                   ; preds = %invoke.cont205
  br label %do.cond210

do.cond210:                                       ; preds = %invoke.cont207
  %53 = load i8* @_ZN5boost10test_tools12_GLOBAL__N_110dummy_condE, align 1
  %tobool211 = trunc i8 %53 to i1
  br i1 %tobool211, label %do.body179, label %do.end212

do.end212:                                        ; preds = %do.cond210
  invoke void @_ZN5boost2io15ios_flags_saverD1Ev(%"class.boost::io::ios_flags_saver"* %ifs132)
          to label %invoke.cont213 unwind label %lpad

invoke.cont213:                                   ; preds = %do.end212
  br label %do.body216

do.body216:                                       ; preds = %do.cond245, %invoke.cont213
  %54 = load %"class.boost::unit_test::unit_test_log_t"** @_ZN5boost9unit_test12_GLOBAL__N_113unit_test_logE, align 4
  invoke void @_ZN5boost9unit_test13basic_cstringIKcEC1EPS2_j(%"class.boost::unit_test::basic_cstring"* %agg.tmp217, i8* getelementptr inbounds ([24 x i8]* @.str, i32 0, i32 0), i32 23)
          to label %invoke.cont218 unwind label %lpad

invoke.cont218:                                   ; preds = %do.body216
  invoke void @_ZN5boost9unit_test13basic_cstringIKcEC1Ev(%"class.boost::unit_test::basic_cstring"* %agg.tmp219)
          to label %invoke.cont220 unwind label %lpad

invoke.cont220:                                   ; preds = %invoke.cont218
  invoke void @_ZN5boost9unit_test15unit_test_log_t14set_checkpointENS0_13basic_cstringIKcEEjS4_(%"class.boost::unit_test::unit_test_log_t"* %54, %"class.boost::unit_test::basic_cstring"* byval align 4 %agg.tmp217, i32 85, %"class.boost::unit_test::basic_cstring"* byval align 4 %agg.tmp219)
          to label %invoke.cont221 unwind label %lpad

invoke.cont221:                                   ; preds = %invoke.cont220
  %call225 = invoke %"class.boost::unit_test::lazy_ostream"* @_ZN5boost9unit_test12lazy_ostream8instanceEv()
          to label %invoke.cont224 unwind label %lpad

invoke.cont224:                                   ; preds = %invoke.cont221
  invoke void @_ZN5boost9unit_testlsIA1_cEENS0_17lazy_ostream_implIRKT_EERKNS0_12lazy_ostreamES6_(%"class.boost::unit_test::lazy_ostream_impl"* sret %ref.tmp223, %"class.boost::unit_test::lazy_ostream"* %call225, [1 x i8]* @.str3)
          to label %invoke.cont226 unwind label %lpad

invoke.cont226:                                   ; preds = %invoke.cont224
  %55 = bitcast %"class.boost::unit_test::lazy_ostream_impl"* %ref.tmp223 to %"class.boost::unit_test::lazy_ostream"*
  invoke void @_ZN5boost9unit_test13basic_cstringIKcEC1EPS2_j(%"class.boost::unit_test::basic_cstring"* %agg.tmp227, i8* getelementptr inbounds ([24 x i8]* @.str, i32 0, i32 0), i32 23)
          to label %invoke.cont229 unwind label %lpad228

invoke.cont229:                                   ; preds = %invoke.cont226
  %call231 = invoke i32 @_ZStorSt13_Ios_FmtflagsS_(i32 4096, i32 2)
          to label %invoke.cont230 unwind label %lpad228

invoke.cont230:                                   ; preds = %invoke.cont229
  store i32 %call231, i32* %ref.tmp232, align 4
  %56 = bitcast %"class.std::basic_stringstream"* %ss to i8**
  %vtable233 = load i8** %56
  %vbase.offset.ptr234 = getelementptr i8* %vtable233, i64 -12
  %57 = bitcast i8* %vbase.offset.ptr234 to i32*
  %vbase.offset235 = load i32* %57
  %58 = bitcast %"class.std::basic_stringstream"* %ss to i8*
  %add.ptr236 = getelementptr inbounds i8* %58, i32 %vbase.offset235
  %59 = bitcast i8* %add.ptr236 to %"class.std::ios_base"*
  %call238 = invoke i32 @_ZNKSt8ios_base5flagsEv(%"class.std::ios_base"* %59)
          to label %invoke.cont237 unwind label %lpad228

invoke.cont237:                                   ; preds = %invoke.cont230
  store i32 %call238, i32* %ref.tmp239, align 4
  %call241 = invoke zeroext i1 @_ZN5boost10test_tools9tt_detail10check_frwdINS1_15equal_impl_frwdESt13_Ios_FmtflagsS4_EEbT_RKNS_9unit_test12lazy_ostreamENS6_13basic_cstringIKcEEjNS1_10tool_levelENS1_10check_typeERKT0_PSB_RKT1_SI_(%"class.boost::unit_test::lazy_ostream"* %55, %"class.boost::unit_test::basic_cstring"* byval align 4 %agg.tmp227, i32 85, i32 1, i32 2, i32* %ref.tmp232, i8* getelementptr inbounds ([35 x i8]* @.str4, i32 0, i32 0), i32* %ref.tmp239, i8* getelementptr inbounds ([11 x i8]* @.str5, i32 0, i32 0))
          to label %invoke.cont240 unwind label %lpad228

invoke.cont240:                                   ; preds = %invoke.cont237
  invoke void @_ZN5boost9unit_test17lazy_ostream_implIRA1_KcED1Ev(%"class.boost::unit_test::lazy_ostream_impl"* %ref.tmp223)
          to label %invoke.cont242 unwind label %lpad

invoke.cont242:                                   ; preds = %invoke.cont240
  br label %do.cond245

do.cond245:                                       ; preds = %invoke.cont242
  %60 = load i8* @_ZN5boost10test_tools12_GLOBAL__N_110dummy_condE, align 1
  %tobool246 = trunc i8 %60 to i1
  br i1 %tobool246, label %do.body216, label %do.end247

do.end247:                                        ; preds = %do.cond245
  call void @_ZNSt18basic_stringstreamIcSt11char_traitsIcESaIcEED1Ev(%"class.std::basic_stringstream"* %ss)
  ret void

lpad:                                             ; preds = %invoke.cont240, %invoke.cont224, %invoke.cont221, %invoke.cont220, %invoke.cont218, %do.body216, %do.end212, %invoke.cont137, %do.end131, %invoke.cont124, %invoke.cont108, %invoke.cont105, %invoke.cont104, %invoke.cont102, %do.body100, %do.end97, %do.end, %invoke.cont17, %invoke.cont5, %invoke.cont3, %invoke.cont2, %invoke.cont, %do.body
  %61 = landingpad { i8*, i32 } personality i8* bitcast (i32 (...)* @__gxx_personality_v0 to i8*)
          cleanup
  %62 = extractvalue { i8*, i32 } %61, 0
  store i8* %62, i8** %exn.slot
  %63 = extractvalue { i8*, i32 } %61, 1
  store i32 %63, i32* %ehselector.slot
  br label %ehcleanup248

lpad9:                                            ; preds = %invoke.cont14, %invoke.cont11, %invoke.cont10, %invoke.cont7
  %64 = landingpad { i8*, i32 } personality i8* bitcast (i32 (...)* @__gxx_personality_v0 to i8*)
          cleanup
  %65 = extractvalue { i8*, i32 } %64, 0
  store i8* %65, i8** %exn.slot
  %66 = extractvalue { i8*, i32 } %64, 1
  store i32 %66, i32* %ehselector.slot
  invoke void @_ZN5boost9unit_test17lazy_ostream_implIRA1_KcED1Ev(%"class.boost::unit_test::lazy_ostream_impl"* %ref.tmp)
          to label %invoke.cont20 unwind label %terminate.lpad

invoke.cont20:                                    ; preds = %lpad9
  br label %ehcleanup248

lpad28:                                           ; preds = %invoke.cont91, %invoke.cont73, %invoke.cont70, %invoke.cont69, %invoke.cont67, %do.body65, %invoke.cont61, %invoke.cont59, %do.end57, %invoke.cont51, %invoke.cont35, %invoke.cont32, %invoke.cont31, %invoke.cont29, %do.body26
  %67 = landingpad { i8*, i32 } personality i8* bitcast (i32 (...)* @__gxx_personality_v0 to i8*)
          cleanup
  %68 = extractvalue { i8*, i32 } %67, 0
  store i8* %68, i8** %exn.slot
  %69 = extractvalue { i8*, i32 } %67, 1
  store i32 %69, i32* %ehselector.slot
  br label %ehcleanup

lpad39:                                           ; preds = %invoke.cont48, %invoke.cont41, %invoke.cont40, %invoke.cont37
  %70 = landingpad { i8*, i32 } personality i8* bitcast (i32 (...)* @__gxx_personality_v0 to i8*)
          cleanup
  %71 = extractvalue { i8*, i32 } %70, 0
  store i8* %71, i8** %exn.slot
  %72 = extractvalue { i8*, i32 } %70, 1
  store i32 %72, i32* %ehselector.slot
  invoke void @_ZN5boost9unit_test17lazy_ostream_implIRA1_KcED1Ev(%"class.boost::unit_test::lazy_ostream_impl"* %ref.tmp34)
          to label %invoke.cont54 unwind label %terminate.lpad

invoke.cont54:                                    ; preds = %lpad39
  br label %ehcleanup

lpad77:                                           ; preds = %invoke.cont88, %invoke.cont81, %invoke.cont79, %invoke.cont78, %invoke.cont75
  %73 = landingpad { i8*, i32 } personality i8* bitcast (i32 (...)* @__gxx_personality_v0 to i8*)
          cleanup
  %74 = extractvalue { i8*, i32 } %73, 0
  store i8* %74, i8** %exn.slot
  %75 = extractvalue { i8*, i32 } %73, 1
  store i32 %75, i32* %ehselector.slot
  invoke void @_ZN5boost9unit_test17lazy_ostream_implIRA1_KcED1Ev(%"class.boost::unit_test::lazy_ostream_impl"* %ref.tmp72)
          to label %invoke.cont94 unwind label %terminate.lpad

invoke.cont94:                                    ; preds = %lpad77
  br label %ehcleanup

ehcleanup:                                        ; preds = %invoke.cont94, %invoke.cont54, %lpad28
  invoke void @_ZN5boost2io15ios_flags_saverD1Ev(%"class.boost::io::ios_flags_saver"* %ifs)
          to label %invoke.cont99 unwind label %terminate.lpad

invoke.cont99:                                    ; preds = %ehcleanup
  br label %ehcleanup248

lpad112:                                          ; preds = %invoke.cont121, %invoke.cont114, %invoke.cont113, %invoke.cont110
  %76 = landingpad { i8*, i32 } personality i8* bitcast (i32 (...)* @__gxx_personality_v0 to i8*)
          cleanup
  %77 = extractvalue { i8*, i32 } %76, 0
  store i8* %77, i8** %exn.slot
  %78 = extractvalue { i8*, i32 } %76, 1
  store i32 %78, i32* %ehselector.slot
  invoke void @_ZN5boost9unit_test17lazy_ostream_implIRA1_KcED1Ev(%"class.boost::unit_test::lazy_ostream_impl"* %ref.tmp107)
          to label %invoke.cont128 unwind label %terminate.lpad

invoke.cont128:                                   ; preds = %lpad112
  br label %ehcleanup248

lpad143:                                          ; preds = %invoke.cont205, %invoke.cont187, %invoke.cont184, %invoke.cont183, %invoke.cont181, %do.body179, %invoke.cont176, %do.end173, %invoke.cont166, %invoke.cont150, %invoke.cont147, %invoke.cont146, %invoke.cont144, %do.body141
  %79 = landingpad { i8*, i32 } personality i8* bitcast (i32 (...)* @__gxx_personality_v0 to i8*)
          cleanup
  %80 = extractvalue { i8*, i32 } %79, 0
  store i8* %80, i8** %exn.slot
  %81 = extractvalue { i8*, i32 } %79, 1
  store i32 %81, i32* %ehselector.slot
  br label %ehcleanup214

lpad154:                                          ; preds = %invoke.cont163, %invoke.cont156, %invoke.cont155, %invoke.cont152
  %82 = landingpad { i8*, i32 } personality i8* bitcast (i32 (...)* @__gxx_personality_v0 to i8*)
          cleanup
  %83 = extractvalue { i8*, i32 } %82, 0
  store i8* %83, i8** %exn.slot
  %84 = extractvalue { i8*, i32 } %82, 1
  store i32 %84, i32* %ehselector.slot
  invoke void @_ZN5boost9unit_test17lazy_ostream_implIRA1_KcED1Ev(%"class.boost::unit_test::lazy_ostream_impl"* %ref.tmp149)
          to label %invoke.cont170 unwind label %terminate.lpad

invoke.cont170:                                   ; preds = %lpad154
  br label %ehcleanup214

lpad191:                                          ; preds = %invoke.cont202, %invoke.cont195, %invoke.cont193, %invoke.cont192, %invoke.cont189
  %85 = landingpad { i8*, i32 } personality i8* bitcast (i32 (...)* @__gxx_personality_v0 to i8*)
          cleanup
  %86 = extractvalue { i8*, i32 } %85, 0
  store i8* %86, i8** %exn.slot
  %87 = extractvalue { i8*, i32 } %85, 1
  store i32 %87, i32* %ehselector.slot
  invoke void @_ZN5boost9unit_test17lazy_ostream_implIRA1_KcED1Ev(%"class.boost::unit_test::lazy_ostream_impl"* %ref.tmp186)
          to label %invoke.cont209 unwind label %terminate.lpad

invoke.cont209:                                   ; preds = %lpad191
  br label %ehcleanup214

ehcleanup214:                                     ; preds = %invoke.cont209, %invoke.cont170, %lpad143
  invoke void @_ZN5boost2io15ios_flags_saverD1Ev(%"class.boost::io::ios_flags_saver"* %ifs132)
          to label %invoke.cont215 unwind label %terminate.lpad

invoke.cont215:                                   ; preds = %ehcleanup214
  br label %ehcleanup248

lpad228:                                          ; preds = %invoke.cont237, %invoke.cont230, %invoke.cont229, %invoke.cont226
  %88 = landingpad { i8*, i32 } personality i8* bitcast (i32 (...)* @__gxx_personality_v0 to i8*)
          cleanup
  %89 = extractvalue { i8*, i32 } %88, 0
  store i8* %89, i8** %exn.slot
  %90 = extractvalue { i8*, i32 } %88, 1
  store i32 %90, i32* %ehselector.slot
  invoke void @_ZN5boost9unit_test17lazy_ostream_implIRA1_KcED1Ev(%"class.boost::unit_test::lazy_ostream_impl"* %ref.tmp223)
          to label %invoke.cont244 unwind label %terminate.lpad

invoke.cont244:                                   ; preds = %lpad228
  br label %ehcleanup248

ehcleanup248:                                     ; preds = %invoke.cont244, %invoke.cont215, %invoke.cont128, %invoke.cont99, %invoke.cont20, %lpad
  invoke void @_ZNSt18basic_stringstreamIcSt11char_traitsIcESaIcEED1Ev(%"class.std::basic_stringstream"* %ss)
          to label %invoke.cont249 unwind label %terminate.lpad

invoke.cont249:                                   ; preds = %ehcleanup248
  br label %eh.resume

eh.resume:                                        ; preds = %invoke.cont249
  %exn = load i8** %exn.slot
  %sel = load i32* %ehselector.slot
  %lpad.val = insertvalue { i8*, i32 } undef, i8* %exn, 0
  %lpad.val250 = insertvalue { i8*, i32 } %lpad.val, i32 %sel, 1
  resume { i8*, i32 } %lpad.val250

terminate.lpad:                                   ; preds = %ehcleanup248, %lpad228, %ehcleanup214, %lpad191, %lpad154, %lpad112, %ehcleanup, %lpad77, %lpad39, %lpad9
  %91 = landingpad { i8*, i32 } personality i8* bitcast (i32 (...)* @__gxx_personality_v0 to i8*)
          catch i8* null
  call void @_ZSt9terminatev() noreturn nounwind
  unreachable
}

declare void @_ZNSt18basic_stringstreamIcSt11char_traitsIcESaIcEEC1ESt13_Ios_Openmode(%"class.std::basic_stringstream"*, i32)

define linkonce_odr i32 @_ZStorSt13_Ios_OpenmodeS_(i32 %__a, i32 %__b) nounwind inlinehint {
entry:
  %__a.addr = alloca i32, align 4
  %__b.addr = alloca i32, align 4
  store i32 %__a, i32* %__a.addr, align 4
  store i32 %__b, i32* %__b.addr, align 4
  %0 = load i32* %__a.addr, align 4
  %1 = load i32* %__b.addr, align 4
  %or = or i32 %0, %1
  ret i32 %or
}

declare void @_ZN5boost9unit_test15unit_test_log_t14set_checkpointENS0_13basic_cstringIKcEEjS4_(%"class.boost::unit_test::unit_test_log_t"*, %"class.boost::unit_test::basic_cstring"* byval align 4, i32, %"class.boost::unit_test::basic_cstring"* byval align 4)

define linkonce_odr void @_ZN5boost9unit_test13basic_cstringIKcEC1EPS2_j(%"class.boost::unit_test::basic_cstring"* %this, i8* %s, i32 %arg_size) unnamed_addr align 2 {
entry:
  %this.addr = alloca %"class.boost::unit_test::basic_cstring"*, align 4
  %s.addr = alloca i8*, align 4
  %arg_size.addr = alloca i32, align 4
  store %"class.boost::unit_test::basic_cstring"* %this, %"class.boost::unit_test::basic_cstring"** %this.addr, align 4
  store i8* %s, i8** %s.addr, align 4
  store i32 %arg_size, i32* %arg_size.addr, align 4
  %this1 = load %"class.boost::unit_test::basic_cstring"** %this.addr
  %0 = load i8** %s.addr, align 4
  %1 = load i32* %arg_size.addr, align 4
  call void @_ZN5boost9unit_test13basic_cstringIKcEC2EPS2_j(%"class.boost::unit_test::basic_cstring"* %this1, i8* %0, i32 %1)
  ret void
}

declare i32 @__gxx_personality_v0(...)

define linkonce_odr void @_ZN5boost9unit_test13basic_cstringIKcEC1Ev(%"class.boost::unit_test::basic_cstring"* %this) unnamed_addr align 2 {
entry:
  %this.addr = alloca %"class.boost::unit_test::basic_cstring"*, align 4
  store %"class.boost::unit_test::basic_cstring"* %this, %"class.boost::unit_test::basic_cstring"** %this.addr, align 4
  %this1 = load %"class.boost::unit_test::basic_cstring"** %this.addr
  call void @_ZN5boost9unit_test13basic_cstringIKcEC2Ev(%"class.boost::unit_test::basic_cstring"* %this1)
  ret void
}

define linkonce_odr zeroext i1 @_ZN5boost10test_tools9tt_detail10check_frwdINS1_15equal_impl_frwdESt13_Ios_FmtflagsS4_EEbT_RKNS_9unit_test12lazy_ostreamENS6_13basic_cstringIKcEEjNS1_10tool_levelENS1_10check_typeERKT0_PSB_RKT1_SI_(%"class.boost::unit_test::lazy_ostream"* %check_descr, %"class.boost::unit_test::basic_cstring"* byval align 4 %file_name, i32 %line_num, i32 %tl, i32 %ct, i32* %arg0, i8* %arg0_descr, i32* %arg1, i8* %arg1_descr) inlinehint {
entry:
  %P = alloca %"struct.boost::test_tools::tt_detail::equal_impl_frwd", align 1
  %check_descr.addr = alloca %"class.boost::unit_test::lazy_ostream"*, align 4
  %line_num.addr = alloca i32, align 4
  %tl.addr = alloca i32, align 4
  %ct.addr = alloca i32, align 4
  %arg0.addr = alloca i32*, align 4
  %arg0_descr.addr = alloca i8*, align 4
  %arg1.addr = alloca i32*, align 4
  %arg1_descr.addr = alloca i8*, align 4
  %ref.tmp = alloca %"class.boost::test_tools::predicate_result", align 4
  %agg.tmp = alloca %"class.boost::unit_test::basic_cstring", align 4
  %ref.tmp1 = alloca %"class.boost::unit_test::lazy_ostream_impl.48", align 4
  %exn.slot = alloca i8*
  %ehselector.slot = alloca i32
  %ref.tmp2 = alloca %"struct.boost::test_tools::tt_detail::print_helper_t.49", align 4
  %ref.tmp5 = alloca %"class.boost::unit_test::lazy_ostream_impl.48", align 4
  %ref.tmp9 = alloca %"struct.boost::test_tools::tt_detail::print_helper_t.49", align 4
  store %"class.boost::unit_test::lazy_ostream"* %check_descr, %"class.boost::unit_test::lazy_ostream"** %check_descr.addr, align 4
  store i32 %line_num, i32* %line_num.addr, align 4
  store i32 %tl, i32* %tl.addr, align 4
  store i32 %ct, i32* %ct.addr, align 4
  store i32* %arg0, i32** %arg0.addr, align 4
  store i8* %arg0_descr, i8** %arg0_descr.addr, align 4
  store i32* %arg1, i32** %arg1.addr, align 4
  store i8* %arg1_descr, i8** %arg1_descr.addr, align 4
  %0 = load i32** %arg0.addr, align 4
  %1 = load i32** %arg1.addr, align 4
  call void @_ZNK5boost10test_tools9tt_detail15equal_impl_frwdclISt13_Ios_FmtflagsS4_EENS0_16predicate_resultERKT_RKT0_(%"class.boost::test_tools::predicate_result"* sret %ref.tmp, %"struct.boost::test_tools::tt_detail::equal_impl_frwd"* %P, i32* %0, i32* %1)
  %2 = load %"class.boost::unit_test::lazy_ostream"** %check_descr.addr, align 4
  %3 = bitcast %"class.boost::unit_test::basic_cstring"* %agg.tmp to i8*
  %4 = bitcast %"class.boost::unit_test::basic_cstring"* %file_name to i8*
  call void @llvm.memcpy.p0i8.p0i8.i32(i8* %3, i8* %4, i32 8, i32 4, i1 false)
  %5 = load i32* %line_num.addr, align 4
  %6 = load i32* %tl.addr, align 4
  %7 = load i32* %ct.addr, align 4
  %8 = load i8** %arg0_descr.addr, align 4
  %call = invoke %"class.boost::unit_test::lazy_ostream"* @_ZN5boost9unit_test12lazy_ostream8instanceEv()
          to label %invoke.cont unwind label %lpad

invoke.cont:                                      ; preds = %entry
  %9 = load i32** %arg0.addr, align 4
  invoke void @_ZN5boost10test_tools9tt_detail12print_helperISt13_Ios_FmtflagsEENS1_14print_helper_tIT_EERKS5_(%"struct.boost::test_tools::tt_detail::print_helper_t.49"* sret %ref.tmp2, i32* %9)
          to label %invoke.cont3 unwind label %lpad

invoke.cont3:                                     ; preds = %invoke.cont
  invoke void @_ZN5boost9unit_testlsINS_10test_tools9tt_detail14print_helper_tISt13_Ios_FmtflagsEEEENS0_17lazy_ostream_implIRKT_EERKNS0_12lazy_ostreamESA_(%"class.boost::unit_test::lazy_ostream_impl.48"* sret %ref.tmp1, %"class.boost::unit_test::lazy_ostream"* %call, %"struct.boost::test_tools::tt_detail::print_helper_t.49"* %ref.tmp2)
          to label %invoke.cont4 unwind label %lpad

invoke.cont4:                                     ; preds = %invoke.cont3
  %10 = bitcast %"class.boost::unit_test::lazy_ostream_impl.48"* %ref.tmp1 to %"class.boost::unit_test::lazy_ostream"*
  %11 = load i8** %arg1_descr.addr, align 4
  %call8 = invoke %"class.boost::unit_test::lazy_ostream"* @_ZN5boost9unit_test12lazy_ostream8instanceEv()
          to label %invoke.cont7 unwind label %lpad6

invoke.cont7:                                     ; preds = %invoke.cont4
  %12 = load i32** %arg1.addr, align 4
  invoke void @_ZN5boost10test_tools9tt_detail12print_helperISt13_Ios_FmtflagsEENS1_14print_helper_tIT_EERKS5_(%"struct.boost::test_tools::tt_detail::print_helper_t.49"* sret %ref.tmp9, i32* %12)
          to label %invoke.cont10 unwind label %lpad6

invoke.cont10:                                    ; preds = %invoke.cont7
  invoke void @_ZN5boost9unit_testlsINS_10test_tools9tt_detail14print_helper_tISt13_Ios_FmtflagsEEEENS0_17lazy_ostream_implIRKT_EERKNS0_12lazy_ostreamESA_(%"class.boost::unit_test::lazy_ostream_impl.48"* sret %ref.tmp5, %"class.boost::unit_test::lazy_ostream"* %call8, %"struct.boost::test_tools::tt_detail::print_helper_t.49"* %ref.tmp9)
          to label %invoke.cont11 unwind label %lpad6

invoke.cont11:                                    ; preds = %invoke.cont10
  %13 = bitcast %"class.boost::unit_test::lazy_ostream_impl.48"* %ref.tmp5 to %"class.boost::unit_test::lazy_ostream"*
  %call14 = invoke zeroext i1 (%"class.boost::test_tools::predicate_result"*, %"class.boost::unit_test::lazy_ostream"*, %"class.boost::unit_test::basic_cstring"*, i32, i32, i32, i32, ...)* @_ZN5boost10test_tools9tt_detail10check_implERKNS0_16predicate_resultERKNS_9unit_test12lazy_ostreamENS5_13basic_cstringIKcEEjNS1_10tool_levelENS1_10check_typeEjz(%"class.boost::test_tools::predicate_result"* %ref.tmp, %"class.boost::unit_test::lazy_ostream"* %2, %"class.boost::unit_test::basic_cstring"* byval align 4 %agg.tmp, i32 %5, i32 %6, i32 %7, i32 2, i8* %8, %"class.boost::unit_test::lazy_ostream"* %10, i8* %11, %"class.boost::unit_test::lazy_ostream"* %13)
          to label %invoke.cont13 unwind label %lpad12

invoke.cont13:                                    ; preds = %invoke.cont11
  invoke void @_ZN5boost9unit_test17lazy_ostream_implIRKNS_10test_tools9tt_detail14print_helper_tISt13_Ios_FmtflagsEEED1Ev(%"class.boost::unit_test::lazy_ostream_impl.48"* %ref.tmp5)
          to label %invoke.cont15 unwind label %lpad6

invoke.cont15:                                    ; preds = %invoke.cont13
  invoke void @_ZN5boost9unit_test17lazy_ostream_implIRKNS_10test_tools9tt_detail14print_helper_tISt13_Ios_FmtflagsEEED1Ev(%"class.boost::unit_test::lazy_ostream_impl.48"* %ref.tmp1)
          to label %invoke.cont17 unwind label %lpad

invoke.cont17:                                    ; preds = %invoke.cont15
  call void @_ZN5boost10test_tools16predicate_resultD1Ev(%"class.boost::test_tools::predicate_result"* %ref.tmp)
  ret i1 %call14

lpad:                                             ; preds = %invoke.cont15, %invoke.cont3, %invoke.cont, %entry
  %14 = landingpad { i8*, i32 } personality i8* bitcast (i32 (...)* @__gxx_personality_v0 to i8*)
          cleanup
  %15 = extractvalue { i8*, i32 } %14, 0
  store i8* %15, i8** %exn.slot
  %16 = extractvalue { i8*, i32 } %14, 1
  store i32 %16, i32* %ehselector.slot
  br label %ehcleanup19

lpad6:                                            ; preds = %invoke.cont13, %invoke.cont10, %invoke.cont7, %invoke.cont4
  %17 = landingpad { i8*, i32 } personality i8* bitcast (i32 (...)* @__gxx_personality_v0 to i8*)
          cleanup
  %18 = extractvalue { i8*, i32 } %17, 0
  store i8* %18, i8** %exn.slot
  %19 = extractvalue { i8*, i32 } %17, 1
  store i32 %19, i32* %ehselector.slot
  br label %ehcleanup

lpad12:                                           ; preds = %invoke.cont11
  %20 = landingpad { i8*, i32 } personality i8* bitcast (i32 (...)* @__gxx_personality_v0 to i8*)
          cleanup
  %21 = extractvalue { i8*, i32 } %20, 0
  store i8* %21, i8** %exn.slot
  %22 = extractvalue { i8*, i32 } %20, 1
  store i32 %22, i32* %ehselector.slot
  invoke void @_ZN5boost9unit_test17lazy_ostream_implIRKNS_10test_tools9tt_detail14print_helper_tISt13_Ios_FmtflagsEEED1Ev(%"class.boost::unit_test::lazy_ostream_impl.48"* %ref.tmp5)
          to label %invoke.cont16 unwind label %terminate.lpad

invoke.cont16:                                    ; preds = %lpad12
  br label %ehcleanup

ehcleanup:                                        ; preds = %invoke.cont16, %lpad6
  invoke void @_ZN5boost9unit_test17lazy_ostream_implIRKNS_10test_tools9tt_detail14print_helper_tISt13_Ios_FmtflagsEEED1Ev(%"class.boost::unit_test::lazy_ostream_impl.48"* %ref.tmp1)
          to label %invoke.cont18 unwind label %terminate.lpad

invoke.cont18:                                    ; preds = %ehcleanup
  br label %ehcleanup19

ehcleanup19:                                      ; preds = %invoke.cont18, %lpad
  invoke void @_ZN5boost10test_tools16predicate_resultD1Ev(%"class.boost::test_tools::predicate_result"* %ref.tmp)
          to label %invoke.cont20 unwind label %terminate.lpad

invoke.cont20:                                    ; preds = %ehcleanup19
  br label %eh.resume

eh.resume:                                        ; preds = %invoke.cont20
  %exn = load i8** %exn.slot
  %sel = load i32* %ehselector.slot
  %lpad.val = insertvalue { i8*, i32 } undef, i8* %exn, 0
  %lpad.val21 = insertvalue { i8*, i32 } %lpad.val, i32 %sel, 1
  resume { i8*, i32 } %lpad.val21

terminate.lpad:                                   ; preds = %ehcleanup19, %ehcleanup, %lpad12
  %23 = landingpad { i8*, i32 } personality i8* bitcast (i32 (...)* @__gxx_personality_v0 to i8*)
          catch i8* null
  call void @_ZSt9terminatev() noreturn nounwind
  unreachable
}

define linkonce_odr void @_ZN5boost9unit_testlsIA1_cEENS0_17lazy_ostream_implIRKT_EERKNS0_12lazy_ostreamES6_(%"class.boost::unit_test::lazy_ostream_impl"* noalias sret %agg.result, %"class.boost::unit_test::lazy_ostream"* %prev, [1 x i8]* %v) inlinehint {
entry:
  %prev.addr = alloca %"class.boost::unit_test::lazy_ostream"*, align 4
  %v.addr = alloca [1 x i8]*, align 4
  store %"class.boost::unit_test::lazy_ostream"* %prev, %"class.boost::unit_test::lazy_ostream"** %prev.addr, align 4
  store [1 x i8]* %v, [1 x i8]** %v.addr, align 4
  %0 = load %"class.boost::unit_test::lazy_ostream"** %prev.addr, align 4
  %1 = load [1 x i8]** %v.addr, align 4
  call void @_ZN5boost9unit_test17lazy_ostream_implIRA1_KcEC1ERKNS0_12lazy_ostreamES4_(%"class.boost::unit_test::lazy_ostream_impl"* %agg.result, %"class.boost::unit_test::lazy_ostream"* %0, [1 x i8]* %1)
  ret void
}

define linkonce_odr %"class.boost::unit_test::lazy_ostream"* @_ZN5boost9unit_test12lazy_ostream8instanceEv() align 2 {
entry:
  %exn.slot = alloca i8*
  %ehselector.slot = alloca i32
  %0 = load atomic i8* bitcast (i64* @_ZGVZN5boost9unit_test12lazy_ostream8instanceEvE4inst to i8*) acquire, align 1
  %guard.uninitialized = icmp eq i8 %0, 0
  br i1 %guard.uninitialized, label %init.check, label %init.end

init.check:                                       ; preds = %entry
  %1 = call i32 @__cxa_guard_acquire(i64* @_ZGVZN5boost9unit_test12lazy_ostream8instanceEvE4inst)
  %tobool = icmp ne i32 %1, 0
  br i1 %tobool, label %init, label %init.end

init:                                             ; preds = %init.check
  invoke void @_ZN5boost9unit_test12lazy_ostreamC1Eb(%"class.boost::unit_test::lazy_ostream"* @_ZZN5boost9unit_test12lazy_ostream8instanceEvE4inst, i1 zeroext true)
          to label %invoke.cont unwind label %lpad

invoke.cont:                                      ; preds = %init
  %2 = call i32 @__cxa_atexit(void (i8*)* bitcast (void (%"class.boost::unit_test::lazy_ostream"*)* @_ZN5boost9unit_test12lazy_ostreamD1Ev to void (i8*)*), i8* bitcast (%"class.boost::unit_test::lazy_ostream"* @_ZZN5boost9unit_test12lazy_ostream8instanceEvE4inst to i8*), i8* @__dso_handle) nounwind
  call void @__cxa_guard_release(i64* @_ZGVZN5boost9unit_test12lazy_ostream8instanceEvE4inst)
  br label %init.end

init.end:                                         ; preds = %invoke.cont, %init.check, %entry
  ret %"class.boost::unit_test::lazy_ostream"* @_ZZN5boost9unit_test12lazy_ostream8instanceEvE4inst

lpad:                                             ; preds = %init
  %3 = landingpad { i8*, i32 } personality i8* bitcast (i32 (...)* @__gxx_personality_v0 to i8*)
          cleanup
  %4 = extractvalue { i8*, i32 } %3, 0
  store i8* %4, i8** %exn.slot
  %5 = extractvalue { i8*, i32 } %3, 1
  store i32 %5, i32* %ehselector.slot
  call void @__cxa_guard_abort(i64* @_ZGVZN5boost9unit_test12lazy_ostream8instanceEvE4inst) nounwind
  br label %eh.resume

eh.resume:                                        ; preds = %lpad
  %exn = load i8** %exn.slot
  %sel = load i32* %ehselector.slot
  %lpad.val = insertvalue { i8*, i32 } undef, i8* %exn, 0
  %lpad.val1 = insertvalue { i8*, i32 } %lpad.val, i32 %sel, 1
  resume { i8*, i32 } %lpad.val1
}

define linkonce_odr i32 @_ZStorSt13_Ios_FmtflagsS_(i32 %__a, i32 %__b) nounwind inlinehint {
entry:
  %__a.addr = alloca i32, align 4
  %__b.addr = alloca i32, align 4
  store i32 %__a, i32* %__a.addr, align 4
  store i32 %__b, i32* %__b.addr, align 4
  %0 = load i32* %__a.addr, align 4
  %1 = load i32* %__b.addr, align 4
  %or = or i32 %0, %1
  ret i32 %or
}

define linkonce_odr i32 @_ZNKSt8ios_base5flagsEv(%"class.std::ios_base"* %this) nounwind align 2 {
entry:
  %this.addr = alloca %"class.std::ios_base"*, align 4
  store %"class.std::ios_base"* %this, %"class.std::ios_base"** %this.addr, align 4
  %this1 = load %"class.std::ios_base"** %this.addr
  %_M_flags = getelementptr inbounds %"class.std::ios_base"* %this1, i32 0, i32 3
  %0 = load i32* %_M_flags, align 4
  ret i32 %0
}

define linkonce_odr void @_ZN5boost9unit_test17lazy_ostream_implIRA1_KcED1Ev(%"class.boost::unit_test::lazy_ostream_impl"* %this) unnamed_addr inlinehint align 2 {
entry:
  %this.addr = alloca %"class.boost::unit_test::lazy_ostream_impl"*, align 4
  store %"class.boost::unit_test::lazy_ostream_impl"* %this, %"class.boost::unit_test::lazy_ostream_impl"** %this.addr, align 4
  %this1 = load %"class.boost::unit_test::lazy_ostream_impl"** %this.addr
  call void @_ZN5boost9unit_test17lazy_ostream_implIRA1_KcED2Ev(%"class.boost::unit_test::lazy_ostream_impl"* %this1)
  ret void
}

declare void @_ZSt9terminatev()

define linkonce_odr void @_ZN5boost2io15ios_flags_saverC1ERSt8ios_base(%"class.boost::io::ios_flags_saver"* %this, %"class.std::ios_base"* %s) unnamed_addr align 2 {
entry:
  %this.addr = alloca %"class.boost::io::ios_flags_saver"*, align 4
  %s.addr = alloca %"class.std::ios_base"*, align 4
  store %"class.boost::io::ios_flags_saver"* %this, %"class.boost::io::ios_flags_saver"** %this.addr, align 4
  store %"class.std::ios_base"* %s, %"class.std::ios_base"** %s.addr, align 4
  %this1 = load %"class.boost::io::ios_flags_saver"** %this.addr
  %0 = load %"class.std::ios_base"** %s.addr
  call void @_ZN5boost2io15ios_flags_saverC2ERSt8ios_base(%"class.boost::io::ios_flags_saver"* %this1, %"class.std::ios_base"* %0)
  ret void
}

declare %"class.std::basic_ostream"* @_ZNSolsEPFRSt8ios_baseS0_E(%"class.std::basic_ostream"*, %"class.std::ios_base"* (%"class.std::ios_base"*)*)

define linkonce_odr %"class.std::ios_base"* @_ZSt8noskipwsRSt8ios_base(%"class.std::ios_base"* %__base) inlinehint {
entry:
  %__base.addr = alloca %"class.std::ios_base"*, align 4
  store %"class.std::ios_base"* %__base, %"class.std::ios_base"** %__base.addr, align 4
  %0 = load %"class.std::ios_base"** %__base.addr, align 4
  call void @_ZNSt8ios_base6unsetfESt13_Ios_Fmtflags(%"class.std::ios_base"* %0, i32 4096)
  %1 = load %"class.std::ios_base"** %__base.addr, align 4
  ret %"class.std::ios_base"* %1
}

define linkonce_odr %"class.std::ios_base"* @_ZSt5fixedRSt8ios_base(%"class.std::ios_base"* %__base) inlinehint {
entry:
  %__base.addr = alloca %"class.std::ios_base"*, align 4
  store %"class.std::ios_base"* %__base, %"class.std::ios_base"** %__base.addr, align 4
  %0 = load %"class.std::ios_base"** %__base.addr, align 4
  %call = call i32 @_ZNSt8ios_base4setfESt13_Ios_FmtflagsS0_(%"class.std::ios_base"* %0, i32 4, i32 260)
  %1 = load %"class.std::ios_base"** %__base.addr, align 4
  ret %"class.std::ios_base"* %1
}

define linkonce_odr %"class.std::ios_base"* @_ZSt9boolalphaRSt8ios_base(%"class.std::ios_base"* %__base) inlinehint {
entry:
  %__base.addr = alloca %"class.std::ios_base"*, align 4
  store %"class.std::ios_base"* %__base, %"class.std::ios_base"** %__base.addr, align 4
  %0 = load %"class.std::ios_base"** %__base.addr, align 4
  %call = call i32 @_ZNSt8ios_base4setfESt13_Ios_Fmtflags(%"class.std::ios_base"* %0, i32 1)
  %1 = load %"class.std::ios_base"** %__base.addr, align 4
  ret %"class.std::ios_base"* %1
}

define linkonce_odr void @_ZN5boost2io15ios_flags_saverD1Ev(%"class.boost::io::ios_flags_saver"* %this) unnamed_addr align 2 {
entry:
  %this.addr = alloca %"class.boost::io::ios_flags_saver"*, align 4
  store %"class.boost::io::ios_flags_saver"* %this, %"class.boost::io::ios_flags_saver"** %this.addr, align 4
  %this1 = load %"class.boost::io::ios_flags_saver"** %this.addr
  call void @_ZN5boost2io15ios_flags_saverD2Ev(%"class.boost::io::ios_flags_saver"* %this1)
  ret void
}

define linkonce_odr void @_ZN5boost2io15ios_flags_saverC1ERSt8ios_baseRKSt13_Ios_Fmtflags(%"class.boost::io::ios_flags_saver"* %this, %"class.std::ios_base"* %s, i32* %a) unnamed_addr align 2 {
entry:
  %this.addr = alloca %"class.boost::io::ios_flags_saver"*, align 4
  %s.addr = alloca %"class.std::ios_base"*, align 4
  %a.addr = alloca i32*, align 4
  store %"class.boost::io::ios_flags_saver"* %this, %"class.boost::io::ios_flags_saver"** %this.addr, align 4
  store %"class.std::ios_base"* %s, %"class.std::ios_base"** %s.addr, align 4
  store i32* %a, i32** %a.addr, align 4
  %this1 = load %"class.boost::io::ios_flags_saver"** %this.addr
  %0 = load i32** %a.addr
  %1 = load %"class.std::ios_base"** %s.addr
  call void @_ZN5boost2io15ios_flags_saverC2ERSt8ios_baseRKSt13_Ios_Fmtflags(%"class.boost::io::ios_flags_saver"* %this1, %"class.std::ios_base"* %1, i32* %0)
  ret void
}

declare %"class.std::basic_ostream"* @_ZStlsIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_St12_Setiosflags(%"class.std::basic_ostream"*, %"struct.std::_Setiosflags"* byval align 4)

define linkonce_odr void @_ZSt11setiosflagsSt13_Ios_Fmtflags(%"struct.std::_Setiosflags"* noalias sret %agg.result, i32 %__mask) nounwind inlinehint {
entry:
  %__mask.addr = alloca i32, align 4
  store i32 %__mask, i32* %__mask.addr, align 4
  %_M_mask = getelementptr inbounds %"struct.std::_Setiosflags"* %agg.result, i32 0, i32 0
  %0 = load i32* %__mask.addr, align 4
  store i32 %0, i32* %_M_mask, align 4
  ret void
}

declare void @_ZNSt18basic_stringstreamIcSt11char_traitsIcESaIcEED1Ev(%"class.std::basic_stringstream"*)

define void @_Z29ios_precision_saver_unit_testv() {
entry:
  %ss = alloca %"class.std::basic_stringstream", align 4
  %agg.tmp = alloca %"class.boost::unit_test::basic_cstring", align 4
  %exn.slot = alloca i8*
  %ehselector.slot = alloca i32
  %agg.tmp1 = alloca %"class.boost::unit_test::basic_cstring", align 4
  %agg.tmp4 = alloca %"struct.boost::test_tools::tt_detail::equal_impl_frwd", align 1
  %ref.tmp = alloca %"class.boost::unit_test::lazy_ostream_impl", align 4
  %agg.tmp8 = alloca %"class.boost::unit_test::basic_cstring", align 4
  %ref.tmp11 = alloca i32, align 4
  %ref.tmp14 = alloca i32, align 4
  %ips = alloca %"class.boost::io::ios_precision_saver", align 4
  %agg.tmp25 = alloca %"class.boost::unit_test::basic_cstring", align 4
  %agg.tmp28 = alloca %"class.boost::unit_test::basic_cstring", align 4
  %agg.tmp31 = alloca %"struct.boost::test_tools::tt_detail::equal_impl_frwd", align 1
  %ref.tmp32 = alloca %"class.boost::unit_test::lazy_ostream_impl", align 4
  %agg.tmp36 = alloca %"class.boost::unit_test::basic_cstring", align 4
  %ref.tmp39 = alloca i32, align 4
  %ref.tmp46 = alloca i32, align 4
  %agg.tmp55 = alloca %"struct.std::_Setprecision", align 4
  %agg.tmp60 = alloca %"class.boost::unit_test::basic_cstring", align 4
  %agg.tmp62 = alloca %"class.boost::unit_test::basic_cstring", align 4
  %agg.tmp65 = alloca %"struct.boost::test_tools::tt_detail::equal_impl_frwd", align 1
  %ref.tmp66 = alloca %"class.boost::unit_test::lazy_ostream_impl", align 4
  %agg.tmp70 = alloca %"class.boost::unit_test::basic_cstring", align 4
  %ref.tmp73 = alloca i32, align 4
  %ref.tmp80 = alloca i32, align 4
  %agg.tmp91 = alloca %"class.boost::unit_test::basic_cstring", align 4
  %agg.tmp93 = alloca %"class.boost::unit_test::basic_cstring", align 4
  %agg.tmp96 = alloca %"struct.boost::test_tools::tt_detail::equal_impl_frwd", align 1
  %ref.tmp97 = alloca %"class.boost::unit_test::lazy_ostream_impl", align 4
  %agg.tmp101 = alloca %"class.boost::unit_test::basic_cstring", align 4
  %ref.tmp104 = alloca i32, align 4
  %ref.tmp111 = alloca i32, align 4
  %ips120 = alloca %"class.boost::io::ios_precision_saver", align 4
  %ref.tmp125 = alloca i32, align 4
  %agg.tmp128 = alloca %"class.boost::unit_test::basic_cstring", align 4
  %agg.tmp131 = alloca %"class.boost::unit_test::basic_cstring", align 4
  %agg.tmp134 = alloca %"struct.boost::test_tools::tt_detail::equal_impl_frwd", align 1
  %ref.tmp135 = alloca %"class.boost::unit_test::lazy_ostream_impl", align 4
  %agg.tmp139 = alloca %"class.boost::unit_test::basic_cstring", align 4
  %ref.tmp142 = alloca i32, align 4
  %ref.tmp149 = alloca i32, align 4
  %agg.tmp159 = alloca %"struct.std::_Setprecision", align 4
  %agg.tmp164 = alloca %"class.boost::unit_test::basic_cstring", align 4
  %agg.tmp166 = alloca %"class.boost::unit_test::basic_cstring", align 4
  %agg.tmp169 = alloca %"struct.boost::test_tools::tt_detail::equal_impl_frwd", align 1
  %ref.tmp170 = alloca %"class.boost::unit_test::lazy_ostream_impl", align 4
  %agg.tmp174 = alloca %"class.boost::unit_test::basic_cstring", align 4
  %ref.tmp177 = alloca i32, align 4
  %ref.tmp184 = alloca i32, align 4
  %agg.tmp197 = alloca %"class.boost::unit_test::basic_cstring", align 4
  %agg.tmp199 = alloca %"class.boost::unit_test::basic_cstring", align 4
  %agg.tmp202 = alloca %"struct.boost::test_tools::tt_detail::equal_impl_frwd", align 1
  %ref.tmp203 = alloca %"class.boost::unit_test::lazy_ostream_impl", align 4
  %agg.tmp207 = alloca %"class.boost::unit_test::basic_cstring", align 4
  %ref.tmp210 = alloca i32, align 4
  %ref.tmp217 = alloca i32, align 4
  %call = call i32 @_ZStorSt13_Ios_OpenmodeS_(i32 16, i32 8)
  call void @_ZNSt18basic_stringstreamIcSt11char_traitsIcESaIcEEC1ESt13_Ios_Openmode(%"class.std::basic_stringstream"* %ss, i32 %call)
  br label %do.body

do.body:                                          ; preds = %do.cond, %entry
  %0 = load %"class.boost::unit_test::unit_test_log_t"** @_ZN5boost9unit_test12_GLOBAL__N_113unit_test_logE, align 4
  invoke void @_ZN5boost9unit_test13basic_cstringIKcEC1EPS2_j(%"class.boost::unit_test::basic_cstring"* %agg.tmp, i8* getelementptr inbounds ([24 x i8]* @.str, i32 0, i32 0), i32 23)
          to label %invoke.cont unwind label %lpad

invoke.cont:                                      ; preds = %do.body
  invoke void @_ZN5boost9unit_test13basic_cstringIKcEC1Ev(%"class.boost::unit_test::basic_cstring"* %agg.tmp1)
          to label %invoke.cont2 unwind label %lpad

invoke.cont2:                                     ; preds = %invoke.cont
  invoke void @_ZN5boost9unit_test15unit_test_log_t14set_checkpointENS0_13basic_cstringIKcEEjS4_(%"class.boost::unit_test::unit_test_log_t"* %0, %"class.boost::unit_test::basic_cstring"* byval align 4 %agg.tmp, i32 98, %"class.boost::unit_test::basic_cstring"* byval align 4 %agg.tmp1)
          to label %invoke.cont3 unwind label %lpad

invoke.cont3:                                     ; preds = %invoke.cont2
  %call6 = invoke %"class.boost::unit_test::lazy_ostream"* @_ZN5boost9unit_test12lazy_ostream8instanceEv()
          to label %invoke.cont5 unwind label %lpad

invoke.cont5:                                     ; preds = %invoke.cont3
  invoke void @_ZN5boost9unit_testlsIA1_cEENS0_17lazy_ostream_implIRKT_EERKNS0_12lazy_ostreamES6_(%"class.boost::unit_test::lazy_ostream_impl"* sret %ref.tmp, %"class.boost::unit_test::lazy_ostream"* %call6, [1 x i8]* @.str3)
          to label %invoke.cont7 unwind label %lpad

invoke.cont7:                                     ; preds = %invoke.cont5
  %1 = bitcast %"class.boost::unit_test::lazy_ostream_impl"* %ref.tmp to %"class.boost::unit_test::lazy_ostream"*
  invoke void @_ZN5boost9unit_test13basic_cstringIKcEC1EPS2_j(%"class.boost::unit_test::basic_cstring"* %agg.tmp8, i8* getelementptr inbounds ([24 x i8]* @.str, i32 0, i32 0), i32 23)
          to label %invoke.cont10 unwind label %lpad9

invoke.cont10:                                    ; preds = %invoke.cont7
  store i32 6, i32* %ref.tmp11, align 4
  %2 = bitcast %"class.std::basic_stringstream"* %ss to i8**
  %vtable = load i8** %2
  %vbase.offset.ptr = getelementptr i8* %vtable, i64 -12
  %3 = bitcast i8* %vbase.offset.ptr to i32*
  %vbase.offset = load i32* %3
  %4 = bitcast %"class.std::basic_stringstream"* %ss to i8*
  %add.ptr = getelementptr inbounds i8* %4, i32 %vbase.offset
  %5 = bitcast i8* %add.ptr to %"class.std::ios_base"*
  %call13 = invoke i32 @_ZNKSt8ios_base9precisionEv(%"class.std::ios_base"* %5)
          to label %invoke.cont12 unwind label %lpad9

invoke.cont12:                                    ; preds = %invoke.cont10
  store i32 %call13, i32* %ref.tmp14, align 4
  %call16 = invoke zeroext i1 @_ZN5boost10test_tools9tt_detail10check_frwdINS1_15equal_impl_frwdEiiEEbT_RKNS_9unit_test12lazy_ostreamENS5_13basic_cstringIKcEEjNS1_10tool_levelENS1_10check_typeERKT0_PSA_RKT1_SH_(%"class.boost::unit_test::lazy_ostream"* %1, %"class.boost::unit_test::basic_cstring"* byval align 4 %agg.tmp8, i32 98, i32 1, i32 2, i32* %ref.tmp11, i8* getelementptr inbounds ([2 x i8]* @.str9, i32 0, i32 0), i32* %ref.tmp14, i8* getelementptr inbounds ([15 x i8]* @.str10, i32 0, i32 0))
          to label %invoke.cont15 unwind label %lpad9

invoke.cont15:                                    ; preds = %invoke.cont12
  invoke void @_ZN5boost9unit_test17lazy_ostream_implIRA1_KcED1Ev(%"class.boost::unit_test::lazy_ostream_impl"* %ref.tmp)
          to label %invoke.cont17 unwind label %lpad

invoke.cont17:                                    ; preds = %invoke.cont15
  br label %do.cond

do.cond:                                          ; preds = %invoke.cont17
  %6 = load i8* @_ZN5boost10test_tools12_GLOBAL__N_110dummy_condE, align 1
  %tobool = trunc i8 %6 to i1
  br i1 %tobool, label %do.body, label %do.end

do.end:                                           ; preds = %do.cond
  %7 = bitcast %"class.std::basic_stringstream"* %ss to i8**
  %vtable19 = load i8** %7
  %vbase.offset.ptr20 = getelementptr i8* %vtable19, i64 -12
  %8 = bitcast i8* %vbase.offset.ptr20 to i32*
  %vbase.offset21 = load i32* %8
  %9 = bitcast %"class.std::basic_stringstream"* %ss to i8*
  %add.ptr22 = getelementptr inbounds i8* %9, i32 %vbase.offset21
  %10 = bitcast i8* %add.ptr22 to %"class.std::ios_base"*
  invoke void @_ZN5boost2io19ios_precision_saverC1ERSt8ios_base(%"class.boost::io::ios_precision_saver"* %ips, %"class.std::ios_base"* %10)
          to label %invoke.cont23 unwind label %lpad

invoke.cont23:                                    ; preds = %do.end
  br label %do.body24

do.body24:                                        ; preds = %do.cond51, %invoke.cont23
  %11 = load %"class.boost::unit_test::unit_test_log_t"** @_ZN5boost9unit_test12_GLOBAL__N_113unit_test_logE, align 4
  invoke void @_ZN5boost9unit_test13basic_cstringIKcEC1EPS2_j(%"class.boost::unit_test::basic_cstring"* %agg.tmp25, i8* getelementptr inbounds ([24 x i8]* @.str, i32 0, i32 0), i32 23)
          to label %invoke.cont27 unwind label %lpad26

invoke.cont27:                                    ; preds = %do.body24
  invoke void @_ZN5boost9unit_test13basic_cstringIKcEC1Ev(%"class.boost::unit_test::basic_cstring"* %agg.tmp28)
          to label %invoke.cont29 unwind label %lpad26

invoke.cont29:                                    ; preds = %invoke.cont27
  invoke void @_ZN5boost9unit_test15unit_test_log_t14set_checkpointENS0_13basic_cstringIKcEEjS4_(%"class.boost::unit_test::unit_test_log_t"* %11, %"class.boost::unit_test::basic_cstring"* byval align 4 %agg.tmp25, i32 103, %"class.boost::unit_test::basic_cstring"* byval align 4 %agg.tmp28)
          to label %invoke.cont30 unwind label %lpad26

invoke.cont30:                                    ; preds = %invoke.cont29
  %call34 = invoke %"class.boost::unit_test::lazy_ostream"* @_ZN5boost9unit_test12lazy_ostream8instanceEv()
          to label %invoke.cont33 unwind label %lpad26

invoke.cont33:                                    ; preds = %invoke.cont30
  invoke void @_ZN5boost9unit_testlsIA1_cEENS0_17lazy_ostream_implIRKT_EERKNS0_12lazy_ostreamES6_(%"class.boost::unit_test::lazy_ostream_impl"* sret %ref.tmp32, %"class.boost::unit_test::lazy_ostream"* %call34, [1 x i8]* @.str3)
          to label %invoke.cont35 unwind label %lpad26

invoke.cont35:                                    ; preds = %invoke.cont33
  %12 = bitcast %"class.boost::unit_test::lazy_ostream_impl"* %ref.tmp32 to %"class.boost::unit_test::lazy_ostream"*
  invoke void @_ZN5boost9unit_test13basic_cstringIKcEC1EPS2_j(%"class.boost::unit_test::basic_cstring"* %agg.tmp36, i8* getelementptr inbounds ([24 x i8]* @.str, i32 0, i32 0), i32 23)
          to label %invoke.cont38 unwind label %lpad37

invoke.cont38:                                    ; preds = %invoke.cont35
  store i32 6, i32* %ref.tmp39, align 4
  %13 = bitcast %"class.std::basic_stringstream"* %ss to i8**
  %vtable40 = load i8** %13
  %vbase.offset.ptr41 = getelementptr i8* %vtable40, i64 -12
  %14 = bitcast i8* %vbase.offset.ptr41 to i32*
  %vbase.offset42 = load i32* %14
  %15 = bitcast %"class.std::basic_stringstream"* %ss to i8*
  %add.ptr43 = getelementptr inbounds i8* %15, i32 %vbase.offset42
  %16 = bitcast i8* %add.ptr43 to %"class.std::ios_base"*
  %call45 = invoke i32 @_ZNKSt8ios_base9precisionEv(%"class.std::ios_base"* %16)
          to label %invoke.cont44 unwind label %lpad37

invoke.cont44:                                    ; preds = %invoke.cont38
  store i32 %call45, i32* %ref.tmp46, align 4
  %call48 = invoke zeroext i1 @_ZN5boost10test_tools9tt_detail10check_frwdINS1_15equal_impl_frwdEiiEEbT_RKNS_9unit_test12lazy_ostreamENS5_13basic_cstringIKcEEjNS1_10tool_levelENS1_10check_typeERKT0_PSA_RKT1_SH_(%"class.boost::unit_test::lazy_ostream"* %12, %"class.boost::unit_test::basic_cstring"* byval align 4 %agg.tmp36, i32 103, i32 1, i32 2, i32* %ref.tmp39, i8* getelementptr inbounds ([2 x i8]* @.str9, i32 0, i32 0), i32* %ref.tmp46, i8* getelementptr inbounds ([15 x i8]* @.str10, i32 0, i32 0))
          to label %invoke.cont47 unwind label %lpad37

invoke.cont47:                                    ; preds = %invoke.cont44
  invoke void @_ZN5boost9unit_test17lazy_ostream_implIRA1_KcED1Ev(%"class.boost::unit_test::lazy_ostream_impl"* %ref.tmp32)
          to label %invoke.cont49 unwind label %lpad26

invoke.cont49:                                    ; preds = %invoke.cont47
  br label %do.cond51

do.cond51:                                        ; preds = %invoke.cont49
  %17 = load i8* @_ZN5boost10test_tools12_GLOBAL__N_110dummy_condE, align 1
  %tobool52 = trunc i8 %17 to i1
  br i1 %tobool52, label %do.body24, label %do.end53

do.end53:                                         ; preds = %do.cond51
  %18 = bitcast %"class.std::basic_stringstream"* %ss to i8*
  %add.ptr54 = getelementptr inbounds i8* %18, i32 8
  %19 = bitcast i8* %add.ptr54 to %"class.std::basic_ostream"*
  invoke void @_ZSt12setprecisioni(%"struct.std::_Setprecision"* sret %agg.tmp55, i32 4)
          to label %invoke.cont56 unwind label %lpad26

invoke.cont56:                                    ; preds = %do.end53
  %call58 = invoke %"class.std::basic_ostream"* @_ZStlsIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_St13_Setprecision(%"class.std::basic_ostream"* %19, %"struct.std::_Setprecision"* byval align 4 %agg.tmp55)
          to label %invoke.cont57 unwind label %lpad26

invoke.cont57:                                    ; preds = %invoke.cont56
  br label %do.body59

do.body59:                                        ; preds = %do.cond85, %invoke.cont57
  %20 = load %"class.boost::unit_test::unit_test_log_t"** @_ZN5boost9unit_test12_GLOBAL__N_113unit_test_logE, align 4
  invoke void @_ZN5boost9unit_test13basic_cstringIKcEC1EPS2_j(%"class.boost::unit_test::basic_cstring"* %agg.tmp60, i8* getelementptr inbounds ([24 x i8]* @.str, i32 0, i32 0), i32 23)
          to label %invoke.cont61 unwind label %lpad26

invoke.cont61:                                    ; preds = %do.body59
  invoke void @_ZN5boost9unit_test13basic_cstringIKcEC1Ev(%"class.boost::unit_test::basic_cstring"* %agg.tmp62)
          to label %invoke.cont63 unwind label %lpad26

invoke.cont63:                                    ; preds = %invoke.cont61
  invoke void @_ZN5boost9unit_test15unit_test_log_t14set_checkpointENS0_13basic_cstringIKcEEjS4_(%"class.boost::unit_test::unit_test_log_t"* %20, %"class.boost::unit_test::basic_cstring"* byval align 4 %agg.tmp60, i32 106, %"class.boost::unit_test::basic_cstring"* byval align 4 %agg.tmp62)
          to label %invoke.cont64 unwind label %lpad26

invoke.cont64:                                    ; preds = %invoke.cont63
  %call68 = invoke %"class.boost::unit_test::lazy_ostream"* @_ZN5boost9unit_test12lazy_ostream8instanceEv()
          to label %invoke.cont67 unwind label %lpad26

invoke.cont67:                                    ; preds = %invoke.cont64
  invoke void @_ZN5boost9unit_testlsIA1_cEENS0_17lazy_ostream_implIRKT_EERKNS0_12lazy_ostreamES6_(%"class.boost::unit_test::lazy_ostream_impl"* sret %ref.tmp66, %"class.boost::unit_test::lazy_ostream"* %call68, [1 x i8]* @.str3)
          to label %invoke.cont69 unwind label %lpad26

invoke.cont69:                                    ; preds = %invoke.cont67
  %21 = bitcast %"class.boost::unit_test::lazy_ostream_impl"* %ref.tmp66 to %"class.boost::unit_test::lazy_ostream"*
  invoke void @_ZN5boost9unit_test13basic_cstringIKcEC1EPS2_j(%"class.boost::unit_test::basic_cstring"* %agg.tmp70, i8* getelementptr inbounds ([24 x i8]* @.str, i32 0, i32 0), i32 23)
          to label %invoke.cont72 unwind label %lpad71

invoke.cont72:                                    ; preds = %invoke.cont69
  store i32 4, i32* %ref.tmp73, align 4
  %22 = bitcast %"class.std::basic_stringstream"* %ss to i8**
  %vtable74 = load i8** %22
  %vbase.offset.ptr75 = getelementptr i8* %vtable74, i64 -12
  %23 = bitcast i8* %vbase.offset.ptr75 to i32*
  %vbase.offset76 = load i32* %23
  %24 = bitcast %"class.std::basic_stringstream"* %ss to i8*
  %add.ptr77 = getelementptr inbounds i8* %24, i32 %vbase.offset76
  %25 = bitcast i8* %add.ptr77 to %"class.std::ios_base"*
  %call79 = invoke i32 @_ZNKSt8ios_base9precisionEv(%"class.std::ios_base"* %25)
          to label %invoke.cont78 unwind label %lpad71

invoke.cont78:                                    ; preds = %invoke.cont72
  store i32 %call79, i32* %ref.tmp80, align 4
  %call82 = invoke zeroext i1 @_ZN5boost10test_tools9tt_detail10check_frwdINS1_15equal_impl_frwdEiiEEbT_RKNS_9unit_test12lazy_ostreamENS5_13basic_cstringIKcEEjNS1_10tool_levelENS1_10check_typeERKT0_PSA_RKT1_SH_(%"class.boost::unit_test::lazy_ostream"* %21, %"class.boost::unit_test::basic_cstring"* byval align 4 %agg.tmp70, i32 106, i32 1, i32 2, i32* %ref.tmp73, i8* getelementptr inbounds ([2 x i8]* @.str11, i32 0, i32 0), i32* %ref.tmp80, i8* getelementptr inbounds ([15 x i8]* @.str10, i32 0, i32 0))
          to label %invoke.cont81 unwind label %lpad71

invoke.cont81:                                    ; preds = %invoke.cont78
  invoke void @_ZN5boost9unit_test17lazy_ostream_implIRA1_KcED1Ev(%"class.boost::unit_test::lazy_ostream_impl"* %ref.tmp66)
          to label %invoke.cont83 unwind label %lpad26

invoke.cont83:                                    ; preds = %invoke.cont81
  br label %do.cond85

do.cond85:                                        ; preds = %invoke.cont83
  %26 = load i8* @_ZN5boost10test_tools12_GLOBAL__N_110dummy_condE, align 1
  %tobool86 = trunc i8 %26 to i1
  br i1 %tobool86, label %do.body59, label %do.end87

do.end87:                                         ; preds = %do.cond85
  invoke void @_ZN5boost2io19ios_precision_saverD1Ev(%"class.boost::io::ios_precision_saver"* %ips)
          to label %invoke.cont88 unwind label %lpad

invoke.cont88:                                    ; preds = %do.end87
  br label %do.body90

do.body90:                                        ; preds = %do.cond117, %invoke.cont88
  %27 = load %"class.boost::unit_test::unit_test_log_t"** @_ZN5boost9unit_test12_GLOBAL__N_113unit_test_logE, align 4
  invoke void @_ZN5boost9unit_test13basic_cstringIKcEC1EPS2_j(%"class.boost::unit_test::basic_cstring"* %agg.tmp91, i8* getelementptr inbounds ([24 x i8]* @.str, i32 0, i32 0), i32 23)
          to label %invoke.cont92 unwind label %lpad

invoke.cont92:                                    ; preds = %do.body90
  invoke void @_ZN5boost9unit_test13basic_cstringIKcEC1Ev(%"class.boost::unit_test::basic_cstring"* %agg.tmp93)
          to label %invoke.cont94 unwind label %lpad

invoke.cont94:                                    ; preds = %invoke.cont92
  invoke void @_ZN5boost9unit_test15unit_test_log_t14set_checkpointENS0_13basic_cstringIKcEEjS4_(%"class.boost::unit_test::unit_test_log_t"* %27, %"class.boost::unit_test::basic_cstring"* byval align 4 %agg.tmp91, i32 109, %"class.boost::unit_test::basic_cstring"* byval align 4 %agg.tmp93)
          to label %invoke.cont95 unwind label %lpad

invoke.cont95:                                    ; preds = %invoke.cont94
  %call99 = invoke %"class.boost::unit_test::lazy_ostream"* @_ZN5boost9unit_test12lazy_ostream8instanceEv()
          to label %invoke.cont98 unwind label %lpad

invoke.cont98:                                    ; preds = %invoke.cont95
  invoke void @_ZN5boost9unit_testlsIA1_cEENS0_17lazy_ostream_implIRKT_EERKNS0_12lazy_ostreamES6_(%"class.boost::unit_test::lazy_ostream_impl"* sret %ref.tmp97, %"class.boost::unit_test::lazy_ostream"* %call99, [1 x i8]* @.str3)
          to label %invoke.cont100 unwind label %lpad

invoke.cont100:                                   ; preds = %invoke.cont98
  %28 = bitcast %"class.boost::unit_test::lazy_ostream_impl"* %ref.tmp97 to %"class.boost::unit_test::lazy_ostream"*
  invoke void @_ZN5boost9unit_test13basic_cstringIKcEC1EPS2_j(%"class.boost::unit_test::basic_cstring"* %agg.tmp101, i8* getelementptr inbounds ([24 x i8]* @.str, i32 0, i32 0), i32 23)
          to label %invoke.cont103 unwind label %lpad102

invoke.cont103:                                   ; preds = %invoke.cont100
  store i32 6, i32* %ref.tmp104, align 4
  %29 = bitcast %"class.std::basic_stringstream"* %ss to i8**
  %vtable105 = load i8** %29
  %vbase.offset.ptr106 = getelementptr i8* %vtable105, i64 -12
  %30 = bitcast i8* %vbase.offset.ptr106 to i32*
  %vbase.offset107 = load i32* %30
  %31 = bitcast %"class.std::basic_stringstream"* %ss to i8*
  %add.ptr108 = getelementptr inbounds i8* %31, i32 %vbase.offset107
  %32 = bitcast i8* %add.ptr108 to %"class.std::ios_base"*
  %call110 = invoke i32 @_ZNKSt8ios_base9precisionEv(%"class.std::ios_base"* %32)
          to label %invoke.cont109 unwind label %lpad102

invoke.cont109:                                   ; preds = %invoke.cont103
  store i32 %call110, i32* %ref.tmp111, align 4
  %call113 = invoke zeroext i1 @_ZN5boost10test_tools9tt_detail10check_frwdINS1_15equal_impl_frwdEiiEEbT_RKNS_9unit_test12lazy_ostreamENS5_13basic_cstringIKcEEjNS1_10tool_levelENS1_10check_typeERKT0_PSA_RKT1_SH_(%"class.boost::unit_test::lazy_ostream"* %28, %"class.boost::unit_test::basic_cstring"* byval align 4 %agg.tmp101, i32 109, i32 1, i32 2, i32* %ref.tmp104, i8* getelementptr inbounds ([2 x i8]* @.str9, i32 0, i32 0), i32* %ref.tmp111, i8* getelementptr inbounds ([15 x i8]* @.str10, i32 0, i32 0))
          to label %invoke.cont112 unwind label %lpad102

invoke.cont112:                                   ; preds = %invoke.cont109
  invoke void @_ZN5boost9unit_test17lazy_ostream_implIRA1_KcED1Ev(%"class.boost::unit_test::lazy_ostream_impl"* %ref.tmp97)
          to label %invoke.cont114 unwind label %lpad

invoke.cont114:                                   ; preds = %invoke.cont112
  br label %do.cond117

do.cond117:                                       ; preds = %invoke.cont114
  %33 = load i8* @_ZN5boost10test_tools12_GLOBAL__N_110dummy_condE, align 1
  %tobool118 = trunc i8 %33 to i1
  br i1 %tobool118, label %do.body90, label %do.end119

do.end119:                                        ; preds = %do.cond117
  %34 = bitcast %"class.std::basic_stringstream"* %ss to i8**
  %vtable121 = load i8** %34
  %vbase.offset.ptr122 = getelementptr i8* %vtable121, i64 -12
  %35 = bitcast i8* %vbase.offset.ptr122 to i32*
  %vbase.offset123 = load i32* %35
  %36 = bitcast %"class.std::basic_stringstream"* %ss to i8*
  %add.ptr124 = getelementptr inbounds i8* %36, i32 %vbase.offset123
  %37 = bitcast i8* %add.ptr124 to %"class.std::ios_base"*
  store i32 8, i32* %ref.tmp125, align 4
  invoke void @_ZN5boost2io19ios_precision_saverC1ERSt8ios_baseRKi(%"class.boost::io::ios_precision_saver"* %ips120, %"class.std::ios_base"* %37, i32* %ref.tmp125)
          to label %invoke.cont126 unwind label %lpad

invoke.cont126:                                   ; preds = %do.end119
  br label %do.body127

do.body127:                                       ; preds = %do.cond155, %invoke.cont126
  %38 = load %"class.boost::unit_test::unit_test_log_t"** @_ZN5boost9unit_test12_GLOBAL__N_113unit_test_logE, align 4
  invoke void @_ZN5boost9unit_test13basic_cstringIKcEC1EPS2_j(%"class.boost::unit_test::basic_cstring"* %agg.tmp128, i8* getelementptr inbounds ([24 x i8]* @.str, i32 0, i32 0), i32 23)
          to label %invoke.cont130 unwind label %lpad129

invoke.cont130:                                   ; preds = %do.body127
  invoke void @_ZN5boost9unit_test13basic_cstringIKcEC1Ev(%"class.boost::unit_test::basic_cstring"* %agg.tmp131)
          to label %invoke.cont132 unwind label %lpad129

invoke.cont132:                                   ; preds = %invoke.cont130
  invoke void @_ZN5boost9unit_test15unit_test_log_t14set_checkpointENS0_13basic_cstringIKcEEjS4_(%"class.boost::unit_test::unit_test_log_t"* %38, %"class.boost::unit_test::basic_cstring"* byval align 4 %agg.tmp128, i32 114, %"class.boost::unit_test::basic_cstring"* byval align 4 %agg.tmp131)
          to label %invoke.cont133 unwind label %lpad129

invoke.cont133:                                   ; preds = %invoke.cont132
  %call137 = invoke %"class.boost::unit_test::lazy_ostream"* @_ZN5boost9unit_test12lazy_ostream8instanceEv()
          to label %invoke.cont136 unwind label %lpad129

invoke.cont136:                                   ; preds = %invoke.cont133
  invoke void @_ZN5boost9unit_testlsIA1_cEENS0_17lazy_ostream_implIRKT_EERKNS0_12lazy_ostreamES6_(%"class.boost::unit_test::lazy_ostream_impl"* sret %ref.tmp135, %"class.boost::unit_test::lazy_ostream"* %call137, [1 x i8]* @.str3)
          to label %invoke.cont138 unwind label %lpad129

invoke.cont138:                                   ; preds = %invoke.cont136
  %39 = bitcast %"class.boost::unit_test::lazy_ostream_impl"* %ref.tmp135 to %"class.boost::unit_test::lazy_ostream"*
  invoke void @_ZN5boost9unit_test13basic_cstringIKcEC1EPS2_j(%"class.boost::unit_test::basic_cstring"* %agg.tmp139, i8* getelementptr inbounds ([24 x i8]* @.str, i32 0, i32 0), i32 23)
          to label %invoke.cont141 unwind label %lpad140

invoke.cont141:                                   ; preds = %invoke.cont138
  store i32 8, i32* %ref.tmp142, align 4
  %40 = bitcast %"class.std::basic_stringstream"* %ss to i8**
  %vtable143 = load i8** %40
  %vbase.offset.ptr144 = getelementptr i8* %vtable143, i64 -12
  %41 = bitcast i8* %vbase.offset.ptr144 to i32*
  %vbase.offset145 = load i32* %41
  %42 = bitcast %"class.std::basic_stringstream"* %ss to i8*
  %add.ptr146 = getelementptr inbounds i8* %42, i32 %vbase.offset145
  %43 = bitcast i8* %add.ptr146 to %"class.std::ios_base"*
  %call148 = invoke i32 @_ZNKSt8ios_base9precisionEv(%"class.std::ios_base"* %43)
          to label %invoke.cont147 unwind label %lpad140

invoke.cont147:                                   ; preds = %invoke.cont141
  store i32 %call148, i32* %ref.tmp149, align 4
  %call151 = invoke zeroext i1 @_ZN5boost10test_tools9tt_detail10check_frwdINS1_15equal_impl_frwdEiiEEbT_RKNS_9unit_test12lazy_ostreamENS5_13basic_cstringIKcEEjNS1_10tool_levelENS1_10check_typeERKT0_PSA_RKT1_SH_(%"class.boost::unit_test::lazy_ostream"* %39, %"class.boost::unit_test::basic_cstring"* byval align 4 %agg.tmp139, i32 114, i32 1, i32 2, i32* %ref.tmp142, i8* getelementptr inbounds ([2 x i8]* @.str12, i32 0, i32 0), i32* %ref.tmp149, i8* getelementptr inbounds ([15 x i8]* @.str10, i32 0, i32 0))
          to label %invoke.cont150 unwind label %lpad140

invoke.cont150:                                   ; preds = %invoke.cont147
  invoke void @_ZN5boost9unit_test17lazy_ostream_implIRA1_KcED1Ev(%"class.boost::unit_test::lazy_ostream_impl"* %ref.tmp135)
          to label %invoke.cont152 unwind label %lpad129

invoke.cont152:                                   ; preds = %invoke.cont150
  br label %do.cond155

do.cond155:                                       ; preds = %invoke.cont152
  %44 = load i8* @_ZN5boost10test_tools12_GLOBAL__N_110dummy_condE, align 1
  %tobool156 = trunc i8 %44 to i1
  br i1 %tobool156, label %do.body127, label %do.end157

do.end157:                                        ; preds = %do.cond155
  %45 = bitcast %"class.std::basic_stringstream"* %ss to i8*
  %add.ptr158 = getelementptr inbounds i8* %45, i32 8
  %46 = bitcast i8* %add.ptr158 to %"class.std::basic_ostream"*
  invoke void @_ZSt12setprecisioni(%"struct.std::_Setprecision"* sret %agg.tmp159, i32 10)
          to label %invoke.cont160 unwind label %lpad129

invoke.cont160:                                   ; preds = %do.end157
  %call162 = invoke %"class.std::basic_ostream"* @_ZStlsIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_St13_Setprecision(%"class.std::basic_ostream"* %46, %"struct.std::_Setprecision"* byval align 4 %agg.tmp159)
          to label %invoke.cont161 unwind label %lpad129

invoke.cont161:                                   ; preds = %invoke.cont160
  br label %do.body163

do.body163:                                       ; preds = %do.cond190, %invoke.cont161
  %47 = load %"class.boost::unit_test::unit_test_log_t"** @_ZN5boost9unit_test12_GLOBAL__N_113unit_test_logE, align 4
  invoke void @_ZN5boost9unit_test13basic_cstringIKcEC1EPS2_j(%"class.boost::unit_test::basic_cstring"* %agg.tmp164, i8* getelementptr inbounds ([24 x i8]* @.str, i32 0, i32 0), i32 23)
          to label %invoke.cont165 unwind label %lpad129

invoke.cont165:                                   ; preds = %do.body163
  invoke void @_ZN5boost9unit_test13basic_cstringIKcEC1Ev(%"class.boost::unit_test::basic_cstring"* %agg.tmp166)
          to label %invoke.cont167 unwind label %lpad129

invoke.cont167:                                   ; preds = %invoke.cont165
  invoke void @_ZN5boost9unit_test15unit_test_log_t14set_checkpointENS0_13basic_cstringIKcEEjS4_(%"class.boost::unit_test::unit_test_log_t"* %47, %"class.boost::unit_test::basic_cstring"* byval align 4 %agg.tmp164, i32 117, %"class.boost::unit_test::basic_cstring"* byval align 4 %agg.tmp166)
          to label %invoke.cont168 unwind label %lpad129

invoke.cont168:                                   ; preds = %invoke.cont167
  %call172 = invoke %"class.boost::unit_test::lazy_ostream"* @_ZN5boost9unit_test12lazy_ostream8instanceEv()
          to label %invoke.cont171 unwind label %lpad129

invoke.cont171:                                   ; preds = %invoke.cont168
  invoke void @_ZN5boost9unit_testlsIA1_cEENS0_17lazy_ostream_implIRKT_EERKNS0_12lazy_ostreamES6_(%"class.boost::unit_test::lazy_ostream_impl"* sret %ref.tmp170, %"class.boost::unit_test::lazy_ostream"* %call172, [1 x i8]* @.str3)
          to label %invoke.cont173 unwind label %lpad129

invoke.cont173:                                   ; preds = %invoke.cont171
  %48 = bitcast %"class.boost::unit_test::lazy_ostream_impl"* %ref.tmp170 to %"class.boost::unit_test::lazy_ostream"*
  invoke void @_ZN5boost9unit_test13basic_cstringIKcEC1EPS2_j(%"class.boost::unit_test::basic_cstring"* %agg.tmp174, i8* getelementptr inbounds ([24 x i8]* @.str, i32 0, i32 0), i32 23)
          to label %invoke.cont176 unwind label %lpad175

invoke.cont176:                                   ; preds = %invoke.cont173
  store i32 10, i32* %ref.tmp177, align 4
  %49 = bitcast %"class.std::basic_stringstream"* %ss to i8**
  %vtable178 = load i8** %49
  %vbase.offset.ptr179 = getelementptr i8* %vtable178, i64 -12
  %50 = bitcast i8* %vbase.offset.ptr179 to i32*
  %vbase.offset180 = load i32* %50
  %51 = bitcast %"class.std::basic_stringstream"* %ss to i8*
  %add.ptr181 = getelementptr inbounds i8* %51, i32 %vbase.offset180
  %52 = bitcast i8* %add.ptr181 to %"class.std::ios_base"*
  %call183 = invoke i32 @_ZNKSt8ios_base9precisionEv(%"class.std::ios_base"* %52)
          to label %invoke.cont182 unwind label %lpad175

invoke.cont182:                                   ; preds = %invoke.cont176
  store i32 %call183, i32* %ref.tmp184, align 4
  %call186 = invoke zeroext i1 @_ZN5boost10test_tools9tt_detail10check_frwdINS1_15equal_impl_frwdEiiEEbT_RKNS_9unit_test12lazy_ostreamENS5_13basic_cstringIKcEEjNS1_10tool_levelENS1_10check_typeERKT0_PSA_RKT1_SH_(%"class.boost::unit_test::lazy_ostream"* %48, %"class.boost::unit_test::basic_cstring"* byval align 4 %agg.tmp174, i32 117, i32 1, i32 2, i32* %ref.tmp177, i8* getelementptr inbounds ([3 x i8]* @.str13, i32 0, i32 0), i32* %ref.tmp184, i8* getelementptr inbounds ([15 x i8]* @.str10, i32 0, i32 0))
          to label %invoke.cont185 unwind label %lpad175

invoke.cont185:                                   ; preds = %invoke.cont182
  invoke void @_ZN5boost9unit_test17lazy_ostream_implIRA1_KcED1Ev(%"class.boost::unit_test::lazy_ostream_impl"* %ref.tmp170)
          to label %invoke.cont187 unwind label %lpad129

invoke.cont187:                                   ; preds = %invoke.cont185
  br label %do.cond190

do.cond190:                                       ; preds = %invoke.cont187
  %53 = load i8* @_ZN5boost10test_tools12_GLOBAL__N_110dummy_condE, align 1
  %tobool191 = trunc i8 %53 to i1
  br i1 %tobool191, label %do.body163, label %do.end192

do.end192:                                        ; preds = %do.cond190
  invoke void @_ZN5boost2io19ios_precision_saverD1Ev(%"class.boost::io::ios_precision_saver"* %ips120)
          to label %invoke.cont193 unwind label %lpad

invoke.cont193:                                   ; preds = %do.end192
  br label %do.body196

do.body196:                                       ; preds = %do.cond223, %invoke.cont193
  %54 = load %"class.boost::unit_test::unit_test_log_t"** @_ZN5boost9unit_test12_GLOBAL__N_113unit_test_logE, align 4
  invoke void @_ZN5boost9unit_test13basic_cstringIKcEC1EPS2_j(%"class.boost::unit_test::basic_cstring"* %agg.tmp197, i8* getelementptr inbounds ([24 x i8]* @.str, i32 0, i32 0), i32 23)
          to label %invoke.cont198 unwind label %lpad

invoke.cont198:                                   ; preds = %do.body196
  invoke void @_ZN5boost9unit_test13basic_cstringIKcEC1Ev(%"class.boost::unit_test::basic_cstring"* %agg.tmp199)
          to label %invoke.cont200 unwind label %lpad

invoke.cont200:                                   ; preds = %invoke.cont198
  invoke void @_ZN5boost9unit_test15unit_test_log_t14set_checkpointENS0_13basic_cstringIKcEEjS4_(%"class.boost::unit_test::unit_test_log_t"* %54, %"class.boost::unit_test::basic_cstring"* byval align 4 %agg.tmp197, i32 120, %"class.boost::unit_test::basic_cstring"* byval align 4 %agg.tmp199)
          to label %invoke.cont201 unwind label %lpad

invoke.cont201:                                   ; preds = %invoke.cont200
  %call205 = invoke %"class.boost::unit_test::lazy_ostream"* @_ZN5boost9unit_test12lazy_ostream8instanceEv()
          to label %invoke.cont204 unwind label %lpad

invoke.cont204:                                   ; preds = %invoke.cont201
  invoke void @_ZN5boost9unit_testlsIA1_cEENS0_17lazy_ostream_implIRKT_EERKNS0_12lazy_ostreamES6_(%"class.boost::unit_test::lazy_ostream_impl"* sret %ref.tmp203, %"class.boost::unit_test::lazy_ostream"* %call205, [1 x i8]* @.str3)
          to label %invoke.cont206 unwind label %lpad

invoke.cont206:                                   ; preds = %invoke.cont204
  %55 = bitcast %"class.boost::unit_test::lazy_ostream_impl"* %ref.tmp203 to %"class.boost::unit_test::lazy_ostream"*
  invoke void @_ZN5boost9unit_test13basic_cstringIKcEC1EPS2_j(%"class.boost::unit_test::basic_cstring"* %agg.tmp207, i8* getelementptr inbounds ([24 x i8]* @.str, i32 0, i32 0), i32 23)
          to label %invoke.cont209 unwind label %lpad208

invoke.cont209:                                   ; preds = %invoke.cont206
  store i32 6, i32* %ref.tmp210, align 4
  %56 = bitcast %"class.std::basic_stringstream"* %ss to i8**
  %vtable211 = load i8** %56
  %vbase.offset.ptr212 = getelementptr i8* %vtable211, i64 -12
  %57 = bitcast i8* %vbase.offset.ptr212 to i32*
  %vbase.offset213 = load i32* %57
  %58 = bitcast %"class.std::basic_stringstream"* %ss to i8*
  %add.ptr214 = getelementptr inbounds i8* %58, i32 %vbase.offset213
  %59 = bitcast i8* %add.ptr214 to %"class.std::ios_base"*
  %call216 = invoke i32 @_ZNKSt8ios_base9precisionEv(%"class.std::ios_base"* %59)
          to label %invoke.cont215 unwind label %lpad208

invoke.cont215:                                   ; preds = %invoke.cont209
  store i32 %call216, i32* %ref.tmp217, align 4
  %call219 = invoke zeroext i1 @_ZN5boost10test_tools9tt_detail10check_frwdINS1_15equal_impl_frwdEiiEEbT_RKNS_9unit_test12lazy_ostreamENS5_13basic_cstringIKcEEjNS1_10tool_levelENS1_10check_typeERKT0_PSA_RKT1_SH_(%"class.boost::unit_test::lazy_ostream"* %55, %"class.boost::unit_test::basic_cstring"* byval align 4 %agg.tmp207, i32 120, i32 1, i32 2, i32* %ref.tmp210, i8* getelementptr inbounds ([2 x i8]* @.str9, i32 0, i32 0), i32* %ref.tmp217, i8* getelementptr inbounds ([15 x i8]* @.str10, i32 0, i32 0))
          to label %invoke.cont218 unwind label %lpad208

invoke.cont218:                                   ; preds = %invoke.cont215
  invoke void @_ZN5boost9unit_test17lazy_ostream_implIRA1_KcED1Ev(%"class.boost::unit_test::lazy_ostream_impl"* %ref.tmp203)
          to label %invoke.cont220 unwind label %lpad

invoke.cont220:                                   ; preds = %invoke.cont218
  br label %do.cond223

do.cond223:                                       ; preds = %invoke.cont220
  %60 = load i8* @_ZN5boost10test_tools12_GLOBAL__N_110dummy_condE, align 1
  %tobool224 = trunc i8 %60 to i1
  br i1 %tobool224, label %do.body196, label %do.end225

do.end225:                                        ; preds = %do.cond223
  call void @_ZNSt18basic_stringstreamIcSt11char_traitsIcESaIcEED1Ev(%"class.std::basic_stringstream"* %ss)
  ret void

lpad:                                             ; preds = %invoke.cont218, %invoke.cont204, %invoke.cont201, %invoke.cont200, %invoke.cont198, %do.body196, %do.end192, %do.end119, %invoke.cont112, %invoke.cont98, %invoke.cont95, %invoke.cont94, %invoke.cont92, %do.body90, %do.end87, %do.end, %invoke.cont15, %invoke.cont5, %invoke.cont3, %invoke.cont2, %invoke.cont, %do.body
  %61 = landingpad { i8*, i32 } personality i8* bitcast (i32 (...)* @__gxx_personality_v0 to i8*)
          cleanup
  %62 = extractvalue { i8*, i32 } %61, 0
  store i8* %62, i8** %exn.slot
  %63 = extractvalue { i8*, i32 } %61, 1
  store i32 %63, i32* %ehselector.slot
  br label %ehcleanup226

lpad9:                                            ; preds = %invoke.cont12, %invoke.cont10, %invoke.cont7
  %64 = landingpad { i8*, i32 } personality i8* bitcast (i32 (...)* @__gxx_personality_v0 to i8*)
          cleanup
  %65 = extractvalue { i8*, i32 } %64, 0
  store i8* %65, i8** %exn.slot
  %66 = extractvalue { i8*, i32 } %64, 1
  store i32 %66, i32* %ehselector.slot
  invoke void @_ZN5boost9unit_test17lazy_ostream_implIRA1_KcED1Ev(%"class.boost::unit_test::lazy_ostream_impl"* %ref.tmp)
          to label %invoke.cont18 unwind label %terminate.lpad

invoke.cont18:                                    ; preds = %lpad9
  br label %ehcleanup226

lpad26:                                           ; preds = %invoke.cont81, %invoke.cont67, %invoke.cont64, %invoke.cont63, %invoke.cont61, %do.body59, %invoke.cont56, %do.end53, %invoke.cont47, %invoke.cont33, %invoke.cont30, %invoke.cont29, %invoke.cont27, %do.body24
  %67 = landingpad { i8*, i32 } personality i8* bitcast (i32 (...)* @__gxx_personality_v0 to i8*)
          cleanup
  %68 = extractvalue { i8*, i32 } %67, 0
  store i8* %68, i8** %exn.slot
  %69 = extractvalue { i8*, i32 } %67, 1
  store i32 %69, i32* %ehselector.slot
  br label %ehcleanup

lpad37:                                           ; preds = %invoke.cont44, %invoke.cont38, %invoke.cont35
  %70 = landingpad { i8*, i32 } personality i8* bitcast (i32 (...)* @__gxx_personality_v0 to i8*)
          cleanup
  %71 = extractvalue { i8*, i32 } %70, 0
  store i8* %71, i8** %exn.slot
  %72 = extractvalue { i8*, i32 } %70, 1
  store i32 %72, i32* %ehselector.slot
  invoke void @_ZN5boost9unit_test17lazy_ostream_implIRA1_KcED1Ev(%"class.boost::unit_test::lazy_ostream_impl"* %ref.tmp32)
          to label %invoke.cont50 unwind label %terminate.lpad

invoke.cont50:                                    ; preds = %lpad37
  br label %ehcleanup

lpad71:                                           ; preds = %invoke.cont78, %invoke.cont72, %invoke.cont69
  %73 = landingpad { i8*, i32 } personality i8* bitcast (i32 (...)* @__gxx_personality_v0 to i8*)
          cleanup
  %74 = extractvalue { i8*, i32 } %73, 0
  store i8* %74, i8** %exn.slot
  %75 = extractvalue { i8*, i32 } %73, 1
  store i32 %75, i32* %ehselector.slot
  invoke void @_ZN5boost9unit_test17lazy_ostream_implIRA1_KcED1Ev(%"class.boost::unit_test::lazy_ostream_impl"* %ref.tmp66)
          to label %invoke.cont84 unwind label %terminate.lpad

invoke.cont84:                                    ; preds = %lpad71
  br label %ehcleanup

ehcleanup:                                        ; preds = %invoke.cont84, %invoke.cont50, %lpad26
  invoke void @_ZN5boost2io19ios_precision_saverD1Ev(%"class.boost::io::ios_precision_saver"* %ips)
          to label %invoke.cont89 unwind label %terminate.lpad

invoke.cont89:                                    ; preds = %ehcleanup
  br label %ehcleanup226

lpad102:                                          ; preds = %invoke.cont109, %invoke.cont103, %invoke.cont100
  %76 = landingpad { i8*, i32 } personality i8* bitcast (i32 (...)* @__gxx_personality_v0 to i8*)
          cleanup
  %77 = extractvalue { i8*, i32 } %76, 0
  store i8* %77, i8** %exn.slot
  %78 = extractvalue { i8*, i32 } %76, 1
  store i32 %78, i32* %ehselector.slot
  invoke void @_ZN5boost9unit_test17lazy_ostream_implIRA1_KcED1Ev(%"class.boost::unit_test::lazy_ostream_impl"* %ref.tmp97)
          to label %invoke.cont116 unwind label %terminate.lpad

invoke.cont116:                                   ; preds = %lpad102
  br label %ehcleanup226

lpad129:                                          ; preds = %invoke.cont185, %invoke.cont171, %invoke.cont168, %invoke.cont167, %invoke.cont165, %do.body163, %invoke.cont160, %do.end157, %invoke.cont150, %invoke.cont136, %invoke.cont133, %invoke.cont132, %invoke.cont130, %do.body127
  %79 = landingpad { i8*, i32 } personality i8* bitcast (i32 (...)* @__gxx_personality_v0 to i8*)
          cleanup
  %80 = extractvalue { i8*, i32 } %79, 0
  store i8* %80, i8** %exn.slot
  %81 = extractvalue { i8*, i32 } %79, 1
  store i32 %81, i32* %ehselector.slot
  br label %ehcleanup194

lpad140:                                          ; preds = %invoke.cont147, %invoke.cont141, %invoke.cont138
  %82 = landingpad { i8*, i32 } personality i8* bitcast (i32 (...)* @__gxx_personality_v0 to i8*)
          cleanup
  %83 = extractvalue { i8*, i32 } %82, 0
  store i8* %83, i8** %exn.slot
  %84 = extractvalue { i8*, i32 } %82, 1
  store i32 %84, i32* %ehselector.slot
  invoke void @_ZN5boost9unit_test17lazy_ostream_implIRA1_KcED1Ev(%"class.boost::unit_test::lazy_ostream_impl"* %ref.tmp135)
          to label %invoke.cont154 unwind label %terminate.lpad

invoke.cont154:                                   ; preds = %lpad140
  br label %ehcleanup194

lpad175:                                          ; preds = %invoke.cont182, %invoke.cont176, %invoke.cont173
  %85 = landingpad { i8*, i32 } personality i8* bitcast (i32 (...)* @__gxx_personality_v0 to i8*)
          cleanup
  %86 = extractvalue { i8*, i32 } %85, 0
  store i8* %86, i8** %exn.slot
  %87 = extractvalue { i8*, i32 } %85, 1
  store i32 %87, i32* %ehselector.slot
  invoke void @_ZN5boost9unit_test17lazy_ostream_implIRA1_KcED1Ev(%"class.boost::unit_test::lazy_ostream_impl"* %ref.tmp170)
          to label %invoke.cont189 unwind label %terminate.lpad

invoke.cont189:                                   ; preds = %lpad175
  br label %ehcleanup194

ehcleanup194:                                     ; preds = %invoke.cont189, %invoke.cont154, %lpad129
  invoke void @_ZN5boost2io19ios_precision_saverD1Ev(%"class.boost::io::ios_precision_saver"* %ips120)
          to label %invoke.cont195 unwind label %terminate.lpad

invoke.cont195:                                   ; preds = %ehcleanup194
  br label %ehcleanup226

lpad208:                                          ; preds = %invoke.cont215, %invoke.cont209, %invoke.cont206
  %88 = landingpad { i8*, i32 } personality i8* bitcast (i32 (...)* @__gxx_personality_v0 to i8*)
          cleanup
  %89 = extractvalue { i8*, i32 } %88, 0
  store i8* %89, i8** %exn.slot
  %90 = extractvalue { i8*, i32 } %88, 1
  store i32 %90, i32* %ehselector.slot
  invoke void @_ZN5boost9unit_test17lazy_ostream_implIRA1_KcED1Ev(%"class.boost::unit_test::lazy_ostream_impl"* %ref.tmp203)
          to label %invoke.cont222 unwind label %terminate.lpad

invoke.cont222:                                   ; preds = %lpad208
  br label %ehcleanup226

ehcleanup226:                                     ; preds = %invoke.cont222, %invoke.cont195, %invoke.cont116, %invoke.cont89, %invoke.cont18, %lpad
  invoke void @_ZNSt18basic_stringstreamIcSt11char_traitsIcESaIcEED1Ev(%"class.std::basic_stringstream"* %ss)
          to label %invoke.cont227 unwind label %terminate.lpad

invoke.cont227:                                   ; preds = %ehcleanup226
  br label %eh.resume

eh.resume:                                        ; preds = %invoke.cont227
  %exn = load i8** %exn.slot
  %sel = load i32* %ehselector.slot
  %lpad.val = insertvalue { i8*, i32 } undef, i8* %exn, 0
  %lpad.val228 = insertvalue { i8*, i32 } %lpad.val, i32 %sel, 1
  resume { i8*, i32 } %lpad.val228

terminate.lpad:                                   ; preds = %ehcleanup226, %lpad208, %ehcleanup194, %lpad175, %lpad140, %lpad102, %ehcleanup, %lpad71, %lpad37, %lpad9
  %91 = landingpad { i8*, i32 } personality i8* bitcast (i32 (...)* @__gxx_personality_v0 to i8*)
          catch i8* null
  call void @_ZSt9terminatev() noreturn nounwind
  unreachable
}

define linkonce_odr zeroext i1 @_ZN5boost10test_tools9tt_detail10check_frwdINS1_15equal_impl_frwdEiiEEbT_RKNS_9unit_test12lazy_ostreamENS5_13basic_cstringIKcEEjNS1_10tool_levelENS1_10check_typeERKT0_PSA_RKT1_SH_(%"class.boost::unit_test::lazy_ostream"* %check_descr, %"class.boost::unit_test::basic_cstring"* byval align 4 %file_name, i32 %line_num, i32 %tl, i32 %ct, i32* %arg0, i8* %arg0_descr, i32* %arg1, i8* %arg1_descr) inlinehint {
entry:
  %P = alloca %"struct.boost::test_tools::tt_detail::equal_impl_frwd", align 1
  %check_descr.addr = alloca %"class.boost::unit_test::lazy_ostream"*, align 4
  %line_num.addr = alloca i32, align 4
  %tl.addr = alloca i32, align 4
  %ct.addr = alloca i32, align 4
  %arg0.addr = alloca i32*, align 4
  %arg0_descr.addr = alloca i8*, align 4
  %arg1.addr = alloca i32*, align 4
  %arg1_descr.addr = alloca i8*, align 4
  %ref.tmp = alloca %"class.boost::test_tools::predicate_result", align 4
  %agg.tmp = alloca %"class.boost::unit_test::basic_cstring", align 4
  %ref.tmp1 = alloca %"class.boost::unit_test::lazy_ostream_impl.33", align 4
  %exn.slot = alloca i8*
  %ehselector.slot = alloca i32
  %ref.tmp2 = alloca %"struct.boost::test_tools::tt_detail::print_helper_t.34", align 4
  %ref.tmp5 = alloca %"class.boost::unit_test::lazy_ostream_impl.33", align 4
  %ref.tmp9 = alloca %"struct.boost::test_tools::tt_detail::print_helper_t.34", align 4
  store %"class.boost::unit_test::lazy_ostream"* %check_descr, %"class.boost::unit_test::lazy_ostream"** %check_descr.addr, align 4
  store i32 %line_num, i32* %line_num.addr, align 4
  store i32 %tl, i32* %tl.addr, align 4
  store i32 %ct, i32* %ct.addr, align 4
  store i32* %arg0, i32** %arg0.addr, align 4
  store i8* %arg0_descr, i8** %arg0_descr.addr, align 4
  store i32* %arg1, i32** %arg1.addr, align 4
  store i8* %arg1_descr, i8** %arg1_descr.addr, align 4
  %0 = load i32** %arg0.addr, align 4
  %1 = load i32** %arg1.addr, align 4
  call void @_ZNK5boost10test_tools9tt_detail15equal_impl_frwdclIiiEENS0_16predicate_resultERKT_RKT0_(%"class.boost::test_tools::predicate_result"* sret %ref.tmp, %"struct.boost::test_tools::tt_detail::equal_impl_frwd"* %P, i32* %0, i32* %1)
  %2 = load %"class.boost::unit_test::lazy_ostream"** %check_descr.addr, align 4
  %3 = bitcast %"class.boost::unit_test::basic_cstring"* %agg.tmp to i8*
  %4 = bitcast %"class.boost::unit_test::basic_cstring"* %file_name to i8*
  call void @llvm.memcpy.p0i8.p0i8.i32(i8* %3, i8* %4, i32 8, i32 4, i1 false)
  %5 = load i32* %line_num.addr, align 4
  %6 = load i32* %tl.addr, align 4
  %7 = load i32* %ct.addr, align 4
  %8 = load i8** %arg0_descr.addr, align 4
  %call = invoke %"class.boost::unit_test::lazy_ostream"* @_ZN5boost9unit_test12lazy_ostream8instanceEv()
          to label %invoke.cont unwind label %lpad

invoke.cont:                                      ; preds = %entry
  %9 = load i32** %arg0.addr, align 4
  invoke void @_ZN5boost10test_tools9tt_detail12print_helperIiEENS1_14print_helper_tIT_EERKS4_(%"struct.boost::test_tools::tt_detail::print_helper_t.34"* sret %ref.tmp2, i32* %9)
          to label %invoke.cont3 unwind label %lpad

invoke.cont3:                                     ; preds = %invoke.cont
  invoke void @_ZN5boost9unit_testlsINS_10test_tools9tt_detail14print_helper_tIiEEEENS0_17lazy_ostream_implIRKT_EERKNS0_12lazy_ostreamES9_(%"class.boost::unit_test::lazy_ostream_impl.33"* sret %ref.tmp1, %"class.boost::unit_test::lazy_ostream"* %call, %"struct.boost::test_tools::tt_detail::print_helper_t.34"* %ref.tmp2)
          to label %invoke.cont4 unwind label %lpad

invoke.cont4:                                     ; preds = %invoke.cont3
  %10 = bitcast %"class.boost::unit_test::lazy_ostream_impl.33"* %ref.tmp1 to %"class.boost::unit_test::lazy_ostream"*
  %11 = load i8** %arg1_descr.addr, align 4
  %call8 = invoke %"class.boost::unit_test::lazy_ostream"* @_ZN5boost9unit_test12lazy_ostream8instanceEv()
          to label %invoke.cont7 unwind label %lpad6

invoke.cont7:                                     ; preds = %invoke.cont4
  %12 = load i32** %arg1.addr, align 4
  invoke void @_ZN5boost10test_tools9tt_detail12print_helperIiEENS1_14print_helper_tIT_EERKS4_(%"struct.boost::test_tools::tt_detail::print_helper_t.34"* sret %ref.tmp9, i32* %12)
          to label %invoke.cont10 unwind label %lpad6

invoke.cont10:                                    ; preds = %invoke.cont7
  invoke void @_ZN5boost9unit_testlsINS_10test_tools9tt_detail14print_helper_tIiEEEENS0_17lazy_ostream_implIRKT_EERKNS0_12lazy_ostreamES9_(%"class.boost::unit_test::lazy_ostream_impl.33"* sret %ref.tmp5, %"class.boost::unit_test::lazy_ostream"* %call8, %"struct.boost::test_tools::tt_detail::print_helper_t.34"* %ref.tmp9)
          to label %invoke.cont11 unwind label %lpad6

invoke.cont11:                                    ; preds = %invoke.cont10
  %13 = bitcast %"class.boost::unit_test::lazy_ostream_impl.33"* %ref.tmp5 to %"class.boost::unit_test::lazy_ostream"*
  %call14 = invoke zeroext i1 (%"class.boost::test_tools::predicate_result"*, %"class.boost::unit_test::lazy_ostream"*, %"class.boost::unit_test::basic_cstring"*, i32, i32, i32, i32, ...)* @_ZN5boost10test_tools9tt_detail10check_implERKNS0_16predicate_resultERKNS_9unit_test12lazy_ostreamENS5_13basic_cstringIKcEEjNS1_10tool_levelENS1_10check_typeEjz(%"class.boost::test_tools::predicate_result"* %ref.tmp, %"class.boost::unit_test::lazy_ostream"* %2, %"class.boost::unit_test::basic_cstring"* byval align 4 %agg.tmp, i32 %5, i32 %6, i32 %7, i32 2, i8* %8, %"class.boost::unit_test::lazy_ostream"* %10, i8* %11, %"class.boost::unit_test::lazy_ostream"* %13)
          to label %invoke.cont13 unwind label %lpad12

invoke.cont13:                                    ; preds = %invoke.cont11
  invoke void @_ZN5boost9unit_test17lazy_ostream_implIRKNS_10test_tools9tt_detail14print_helper_tIiEEED1Ev(%"class.boost::unit_test::lazy_ostream_impl.33"* %ref.tmp5)
          to label %invoke.cont15 unwind label %lpad6

invoke.cont15:                                    ; preds = %invoke.cont13
  invoke void @_ZN5boost9unit_test17lazy_ostream_implIRKNS_10test_tools9tt_detail14print_helper_tIiEEED1Ev(%"class.boost::unit_test::lazy_ostream_impl.33"* %ref.tmp1)
          to label %invoke.cont17 unwind label %lpad

invoke.cont17:                                    ; preds = %invoke.cont15
  call void @_ZN5boost10test_tools16predicate_resultD1Ev(%"class.boost::test_tools::predicate_result"* %ref.tmp)
  ret i1 %call14

lpad:                                             ; preds = %invoke.cont15, %invoke.cont3, %invoke.cont, %entry
  %14 = landingpad { i8*, i32 } personality i8* bitcast (i32 (...)* @__gxx_personality_v0 to i8*)
          cleanup
  %15 = extractvalue { i8*, i32 } %14, 0
  store i8* %15, i8** %exn.slot
  %16 = extractvalue { i8*, i32 } %14, 1
  store i32 %16, i32* %ehselector.slot
  br label %ehcleanup19

lpad6:                                            ; preds = %invoke.cont13, %invoke.cont10, %invoke.cont7, %invoke.cont4
  %17 = landingpad { i8*, i32 } personality i8* bitcast (i32 (...)* @__gxx_personality_v0 to i8*)
          cleanup
  %18 = extractvalue { i8*, i32 } %17, 0
  store i8* %18, i8** %exn.slot
  %19 = extractvalue { i8*, i32 } %17, 1
  store i32 %19, i32* %ehselector.slot
  br label %ehcleanup

lpad12:                                           ; preds = %invoke.cont11
  %20 = landingpad { i8*, i32 } personality i8* bitcast (i32 (...)* @__gxx_personality_v0 to i8*)
          cleanup
  %21 = extractvalue { i8*, i32 } %20, 0
  store i8* %21, i8** %exn.slot
  %22 = extractvalue { i8*, i32 } %20, 1
  store i32 %22, i32* %ehselector.slot
  invoke void @_ZN5boost9unit_test17lazy_ostream_implIRKNS_10test_tools9tt_detail14print_helper_tIiEEED1Ev(%"class.boost::unit_test::lazy_ostream_impl.33"* %ref.tmp5)
          to label %invoke.cont16 unwind label %terminate.lpad

invoke.cont16:                                    ; preds = %lpad12
  br label %ehcleanup

ehcleanup:                                        ; preds = %invoke.cont16, %lpad6
  invoke void @_ZN5boost9unit_test17lazy_ostream_implIRKNS_10test_tools9tt_detail14print_helper_tIiEEED1Ev(%"class.boost::unit_test::lazy_ostream_impl.33"* %ref.tmp1)
          to label %invoke.cont18 unwind label %terminate.lpad

invoke.cont18:                                    ; preds = %ehcleanup
  br label %ehcleanup19

ehcleanup19:                                      ; preds = %invoke.cont18, %lpad
  invoke void @_ZN5boost10test_tools16predicate_resultD1Ev(%"class.boost::test_tools::predicate_result"* %ref.tmp)
          to label %invoke.cont20 unwind label %terminate.lpad

invoke.cont20:                                    ; preds = %ehcleanup19
  br label %eh.resume

eh.resume:                                        ; preds = %invoke.cont20
  %exn = load i8** %exn.slot
  %sel = load i32* %ehselector.slot
  %lpad.val = insertvalue { i8*, i32 } undef, i8* %exn, 0
  %lpad.val21 = insertvalue { i8*, i32 } %lpad.val, i32 %sel, 1
  resume { i8*, i32 } %lpad.val21

terminate.lpad:                                   ; preds = %ehcleanup19, %ehcleanup, %lpad12
  %23 = landingpad { i8*, i32 } personality i8* bitcast (i32 (...)* @__gxx_personality_v0 to i8*)
          catch i8* null
  call void @_ZSt9terminatev() noreturn nounwind
  unreachable
}

define linkonce_odr i32 @_ZNKSt8ios_base9precisionEv(%"class.std::ios_base"* %this) nounwind align 2 {
entry:
  %this.addr = alloca %"class.std::ios_base"*, align 4
  store %"class.std::ios_base"* %this, %"class.std::ios_base"** %this.addr, align 4
  %this1 = load %"class.std::ios_base"** %this.addr
  %_M_precision = getelementptr inbounds %"class.std::ios_base"* %this1, i32 0, i32 1
  %0 = load i32* %_M_precision, align 4
  ret i32 %0
}

define linkonce_odr void @_ZN5boost2io19ios_precision_saverC1ERSt8ios_base(%"class.boost::io::ios_precision_saver"* %this, %"class.std::ios_base"* %s) unnamed_addr align 2 {
entry:
  %this.addr = alloca %"class.boost::io::ios_precision_saver"*, align 4
  %s.addr = alloca %"class.std::ios_base"*, align 4
  store %"class.boost::io::ios_precision_saver"* %this, %"class.boost::io::ios_precision_saver"** %this.addr, align 4
  store %"class.std::ios_base"* %s, %"class.std::ios_base"** %s.addr, align 4
  %this1 = load %"class.boost::io::ios_precision_saver"** %this.addr
  %0 = load %"class.std::ios_base"** %s.addr
  call void @_ZN5boost2io19ios_precision_saverC2ERSt8ios_base(%"class.boost::io::ios_precision_saver"* %this1, %"class.std::ios_base"* %0)
  ret void
}

declare %"class.std::basic_ostream"* @_ZStlsIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_St13_Setprecision(%"class.std::basic_ostream"*, %"struct.std::_Setprecision"* byval align 4)

define linkonce_odr void @_ZSt12setprecisioni(%"struct.std::_Setprecision"* noalias sret %agg.result, i32 %__n) nounwind inlinehint {
entry:
  %__n.addr = alloca i32, align 4
  store i32 %__n, i32* %__n.addr, align 4
  %_M_n = getelementptr inbounds %"struct.std::_Setprecision"* %agg.result, i32 0, i32 0
  %0 = load i32* %__n.addr, align 4
  store i32 %0, i32* %_M_n, align 4
  ret void
}

define linkonce_odr void @_ZN5boost2io19ios_precision_saverD1Ev(%"class.boost::io::ios_precision_saver"* %this) unnamed_addr align 2 {
entry:
  %this.addr = alloca %"class.boost::io::ios_precision_saver"*, align 4
  store %"class.boost::io::ios_precision_saver"* %this, %"class.boost::io::ios_precision_saver"** %this.addr, align 4
  %this1 = load %"class.boost::io::ios_precision_saver"** %this.addr
  call void @_ZN5boost2io19ios_precision_saverD2Ev(%"class.boost::io::ios_precision_saver"* %this1)
  ret void
}

define linkonce_odr void @_ZN5boost2io19ios_precision_saverC1ERSt8ios_baseRKi(%"class.boost::io::ios_precision_saver"* %this, %"class.std::ios_base"* %s, i32* %a) unnamed_addr align 2 {
entry:
  %this.addr = alloca %"class.boost::io::ios_precision_saver"*, align 4
  %s.addr = alloca %"class.std::ios_base"*, align 4
  %a.addr = alloca i32*, align 4
  store %"class.boost::io::ios_precision_saver"* %this, %"class.boost::io::ios_precision_saver"** %this.addr, align 4
  store %"class.std::ios_base"* %s, %"class.std::ios_base"** %s.addr, align 4
  store i32* %a, i32** %a.addr, align 4
  %this1 = load %"class.boost::io::ios_precision_saver"** %this.addr
  %0 = load i32** %a.addr
  %1 = load %"class.std::ios_base"** %s.addr
  call void @_ZN5boost2io19ios_precision_saverC2ERSt8ios_baseRKi(%"class.boost::io::ios_precision_saver"* %this1, %"class.std::ios_base"* %1, i32* %0)
  ret void
}

define void @_Z25ios_width_saver_unit_testv() {
entry:
  %ss = alloca %"class.std::basic_stringstream", align 4
  %agg.tmp = alloca %"class.boost::unit_test::basic_cstring", align 4
  %exn.slot = alloca i8*
  %ehselector.slot = alloca i32
  %agg.tmp1 = alloca %"class.boost::unit_test::basic_cstring", align 4
  %agg.tmp4 = alloca %"struct.boost::test_tools::tt_detail::equal_impl_frwd", align 1
  %ref.tmp = alloca %"class.boost::unit_test::lazy_ostream_impl", align 4
  %agg.tmp8 = alloca %"class.boost::unit_test::basic_cstring", align 4
  %ref.tmp11 = alloca i32, align 4
  %ref.tmp14 = alloca i32, align 4
  %iws = alloca %"class.boost::io::ios_width_saver", align 4
  %agg.tmp25 = alloca %"class.boost::unit_test::basic_cstring", align 4
  %agg.tmp28 = alloca %"class.boost::unit_test::basic_cstring", align 4
  %agg.tmp31 = alloca %"struct.boost::test_tools::tt_detail::equal_impl_frwd", align 1
  %ref.tmp32 = alloca %"class.boost::unit_test::lazy_ostream_impl", align 4
  %agg.tmp36 = alloca %"class.boost::unit_test::basic_cstring", align 4
  %ref.tmp39 = alloca i32, align 4
  %ref.tmp46 = alloca i32, align 4
  %agg.tmp55 = alloca %"struct.std::_Setw", align 4
  %agg.tmp60 = alloca %"class.boost::unit_test::basic_cstring", align 4
  %agg.tmp62 = alloca %"class.boost::unit_test::basic_cstring", align 4
  %agg.tmp65 = alloca %"struct.boost::test_tools::tt_detail::equal_impl_frwd", align 1
  %ref.tmp66 = alloca %"class.boost::unit_test::lazy_ostream_impl", align 4
  %agg.tmp70 = alloca %"class.boost::unit_test::basic_cstring", align 4
  %ref.tmp73 = alloca i32, align 4
  %ref.tmp80 = alloca i32, align 4
  %agg.tmp91 = alloca %"class.boost::unit_test::basic_cstring", align 4
  %agg.tmp93 = alloca %"class.boost::unit_test::basic_cstring", align 4
  %agg.tmp96 = alloca %"struct.boost::test_tools::tt_detail::equal_impl_frwd", align 1
  %ref.tmp97 = alloca %"class.boost::unit_test::lazy_ostream_impl", align 4
  %agg.tmp101 = alloca %"class.boost::unit_test::basic_cstring", align 4
  %ref.tmp104 = alloca i32, align 4
  %ref.tmp111 = alloca i32, align 4
  %iws120 = alloca %"class.boost::io::ios_width_saver", align 4
  %ref.tmp125 = alloca i32, align 4
  %agg.tmp128 = alloca %"class.boost::unit_test::basic_cstring", align 4
  %agg.tmp131 = alloca %"class.boost::unit_test::basic_cstring", align 4
  %agg.tmp134 = alloca %"struct.boost::test_tools::tt_detail::equal_impl_frwd", align 1
  %ref.tmp135 = alloca %"class.boost::unit_test::lazy_ostream_impl", align 4
  %agg.tmp139 = alloca %"class.boost::unit_test::basic_cstring", align 4
  %ref.tmp142 = alloca i32, align 4
  %ref.tmp149 = alloca i32, align 4
  %agg.tmp159 = alloca %"struct.std::_Setw", align 4
  %agg.tmp164 = alloca %"class.boost::unit_test::basic_cstring", align 4
  %agg.tmp166 = alloca %"class.boost::unit_test::basic_cstring", align 4
  %agg.tmp169 = alloca %"struct.boost::test_tools::tt_detail::equal_impl_frwd", align 1
  %ref.tmp170 = alloca %"class.boost::unit_test::lazy_ostream_impl", align 4
  %agg.tmp174 = alloca %"class.boost::unit_test::basic_cstring", align 4
  %ref.tmp177 = alloca i32, align 4
  %ref.tmp184 = alloca i32, align 4
  %agg.tmp197 = alloca %"class.boost::unit_test::basic_cstring", align 4
  %agg.tmp199 = alloca %"class.boost::unit_test::basic_cstring", align 4
  %agg.tmp202 = alloca %"struct.boost::test_tools::tt_detail::equal_impl_frwd", align 1
  %ref.tmp203 = alloca %"class.boost::unit_test::lazy_ostream_impl", align 4
  %agg.tmp207 = alloca %"class.boost::unit_test::basic_cstring", align 4
  %ref.tmp210 = alloca i32, align 4
  %ref.tmp217 = alloca i32, align 4
  %call = call i32 @_ZStorSt13_Ios_OpenmodeS_(i32 16, i32 8)
  call void @_ZNSt18basic_stringstreamIcSt11char_traitsIcESaIcEEC1ESt13_Ios_Openmode(%"class.std::basic_stringstream"* %ss, i32 %call)
  br label %do.body

do.body:                                          ; preds = %do.cond, %entry
  %0 = load %"class.boost::unit_test::unit_test_log_t"** @_ZN5boost9unit_test12_GLOBAL__N_113unit_test_logE, align 4
  invoke void @_ZN5boost9unit_test13basic_cstringIKcEC1EPS2_j(%"class.boost::unit_test::basic_cstring"* %agg.tmp, i8* getelementptr inbounds ([24 x i8]* @.str, i32 0, i32 0), i32 23)
          to label %invoke.cont unwind label %lpad

invoke.cont:                                      ; preds = %do.body
  invoke void @_ZN5boost9unit_test13basic_cstringIKcEC1Ev(%"class.boost::unit_test::basic_cstring"* %agg.tmp1)
          to label %invoke.cont2 unwind label %lpad

invoke.cont2:                                     ; preds = %invoke.cont
  invoke void @_ZN5boost9unit_test15unit_test_log_t14set_checkpointENS0_13basic_cstringIKcEEjS4_(%"class.boost::unit_test::unit_test_log_t"* %0, %"class.boost::unit_test::basic_cstring"* byval align 4 %agg.tmp, i32 133, %"class.boost::unit_test::basic_cstring"* byval align 4 %agg.tmp1)
          to label %invoke.cont3 unwind label %lpad

invoke.cont3:                                     ; preds = %invoke.cont2
  %call6 = invoke %"class.boost::unit_test::lazy_ostream"* @_ZN5boost9unit_test12lazy_ostream8instanceEv()
          to label %invoke.cont5 unwind label %lpad

invoke.cont5:                                     ; preds = %invoke.cont3
  invoke void @_ZN5boost9unit_testlsIA1_cEENS0_17lazy_ostream_implIRKT_EERKNS0_12lazy_ostreamES6_(%"class.boost::unit_test::lazy_ostream_impl"* sret %ref.tmp, %"class.boost::unit_test::lazy_ostream"* %call6, [1 x i8]* @.str3)
          to label %invoke.cont7 unwind label %lpad

invoke.cont7:                                     ; preds = %invoke.cont5
  %1 = bitcast %"class.boost::unit_test::lazy_ostream_impl"* %ref.tmp to %"class.boost::unit_test::lazy_ostream"*
  invoke void @_ZN5boost9unit_test13basic_cstringIKcEC1EPS2_j(%"class.boost::unit_test::basic_cstring"* %agg.tmp8, i8* getelementptr inbounds ([24 x i8]* @.str, i32 0, i32 0), i32 23)
          to label %invoke.cont10 unwind label %lpad9

invoke.cont10:                                    ; preds = %invoke.cont7
  store i32 0, i32* %ref.tmp11, align 4
  %2 = bitcast %"class.std::basic_stringstream"* %ss to i8**
  %vtable = load i8** %2
  %vbase.offset.ptr = getelementptr i8* %vtable, i64 -12
  %3 = bitcast i8* %vbase.offset.ptr to i32*
  %vbase.offset = load i32* %3
  %4 = bitcast %"class.std::basic_stringstream"* %ss to i8*
  %add.ptr = getelementptr inbounds i8* %4, i32 %vbase.offset
  %5 = bitcast i8* %add.ptr to %"class.std::ios_base"*
  %call13 = invoke i32 @_ZNKSt8ios_base5widthEv(%"class.std::ios_base"* %5)
          to label %invoke.cont12 unwind label %lpad9

invoke.cont12:                                    ; preds = %invoke.cont10
  store i32 %call13, i32* %ref.tmp14, align 4
  %call16 = invoke zeroext i1 @_ZN5boost10test_tools9tt_detail10check_frwdINS1_15equal_impl_frwdEiiEEbT_RKNS_9unit_test12lazy_ostreamENS5_13basic_cstringIKcEEjNS1_10tool_levelENS1_10check_typeERKT0_PSA_RKT1_SH_(%"class.boost::unit_test::lazy_ostream"* %1, %"class.boost::unit_test::basic_cstring"* byval align 4 %agg.tmp8, i32 133, i32 1, i32 2, i32* %ref.tmp11, i8* getelementptr inbounds ([2 x i8]* @.str14, i32 0, i32 0), i32* %ref.tmp14, i8* getelementptr inbounds ([11 x i8]* @.str15, i32 0, i32 0))
          to label %invoke.cont15 unwind label %lpad9

invoke.cont15:                                    ; preds = %invoke.cont12
  invoke void @_ZN5boost9unit_test17lazy_ostream_implIRA1_KcED1Ev(%"class.boost::unit_test::lazy_ostream_impl"* %ref.tmp)
          to label %invoke.cont17 unwind label %lpad

invoke.cont17:                                    ; preds = %invoke.cont15
  br label %do.cond

do.cond:                                          ; preds = %invoke.cont17
  %6 = load i8* @_ZN5boost10test_tools12_GLOBAL__N_110dummy_condE, align 1
  %tobool = trunc i8 %6 to i1
  br i1 %tobool, label %do.body, label %do.end

do.end:                                           ; preds = %do.cond
  %7 = bitcast %"class.std::basic_stringstream"* %ss to i8**
  %vtable19 = load i8** %7
  %vbase.offset.ptr20 = getelementptr i8* %vtable19, i64 -12
  %8 = bitcast i8* %vbase.offset.ptr20 to i32*
  %vbase.offset21 = load i32* %8
  %9 = bitcast %"class.std::basic_stringstream"* %ss to i8*
  %add.ptr22 = getelementptr inbounds i8* %9, i32 %vbase.offset21
  %10 = bitcast i8* %add.ptr22 to %"class.std::ios_base"*
  invoke void @_ZN5boost2io15ios_width_saverC1ERSt8ios_base(%"class.boost::io::ios_width_saver"* %iws, %"class.std::ios_base"* %10)
          to label %invoke.cont23 unwind label %lpad

invoke.cont23:                                    ; preds = %do.end
  br label %do.body24

do.body24:                                        ; preds = %do.cond51, %invoke.cont23
  %11 = load %"class.boost::unit_test::unit_test_log_t"** @_ZN5boost9unit_test12_GLOBAL__N_113unit_test_logE, align 4
  invoke void @_ZN5boost9unit_test13basic_cstringIKcEC1EPS2_j(%"class.boost::unit_test::basic_cstring"* %agg.tmp25, i8* getelementptr inbounds ([24 x i8]* @.str, i32 0, i32 0), i32 23)
          to label %invoke.cont27 unwind label %lpad26

invoke.cont27:                                    ; preds = %do.body24
  invoke void @_ZN5boost9unit_test13basic_cstringIKcEC1Ev(%"class.boost::unit_test::basic_cstring"* %agg.tmp28)
          to label %invoke.cont29 unwind label %lpad26

invoke.cont29:                                    ; preds = %invoke.cont27
  invoke void @_ZN5boost9unit_test15unit_test_log_t14set_checkpointENS0_13basic_cstringIKcEEjS4_(%"class.boost::unit_test::unit_test_log_t"* %11, %"class.boost::unit_test::basic_cstring"* byval align 4 %agg.tmp25, i32 138, %"class.boost::unit_test::basic_cstring"* byval align 4 %agg.tmp28)
          to label %invoke.cont30 unwind label %lpad26

invoke.cont30:                                    ; preds = %invoke.cont29
  %call34 = invoke %"class.boost::unit_test::lazy_ostream"* @_ZN5boost9unit_test12lazy_ostream8instanceEv()
          to label %invoke.cont33 unwind label %lpad26

invoke.cont33:                                    ; preds = %invoke.cont30
  invoke void @_ZN5boost9unit_testlsIA1_cEENS0_17lazy_ostream_implIRKT_EERKNS0_12lazy_ostreamES6_(%"class.boost::unit_test::lazy_ostream_impl"* sret %ref.tmp32, %"class.boost::unit_test::lazy_ostream"* %call34, [1 x i8]* @.str3)
          to label %invoke.cont35 unwind label %lpad26

invoke.cont35:                                    ; preds = %invoke.cont33
  %12 = bitcast %"class.boost::unit_test::lazy_ostream_impl"* %ref.tmp32 to %"class.boost::unit_test::lazy_ostream"*
  invoke void @_ZN5boost9unit_test13basic_cstringIKcEC1EPS2_j(%"class.boost::unit_test::basic_cstring"* %agg.tmp36, i8* getelementptr inbounds ([24 x i8]* @.str, i32 0, i32 0), i32 23)
          to label %invoke.cont38 unwind label %lpad37

invoke.cont38:                                    ; preds = %invoke.cont35
  store i32 0, i32* %ref.tmp39, align 4
  %13 = bitcast %"class.std::basic_stringstream"* %ss to i8**
  %vtable40 = load i8** %13
  %vbase.offset.ptr41 = getelementptr i8* %vtable40, i64 -12
  %14 = bitcast i8* %vbase.offset.ptr41 to i32*
  %vbase.offset42 = load i32* %14
  %15 = bitcast %"class.std::basic_stringstream"* %ss to i8*
  %add.ptr43 = getelementptr inbounds i8* %15, i32 %vbase.offset42
  %16 = bitcast i8* %add.ptr43 to %"class.std::ios_base"*
  %call45 = invoke i32 @_ZNKSt8ios_base5widthEv(%"class.std::ios_base"* %16)
          to label %invoke.cont44 unwind label %lpad37

invoke.cont44:                                    ; preds = %invoke.cont38
  store i32 %call45, i32* %ref.tmp46, align 4
  %call48 = invoke zeroext i1 @_ZN5boost10test_tools9tt_detail10check_frwdINS1_15equal_impl_frwdEiiEEbT_RKNS_9unit_test12lazy_ostreamENS5_13basic_cstringIKcEEjNS1_10tool_levelENS1_10check_typeERKT0_PSA_RKT1_SH_(%"class.boost::unit_test::lazy_ostream"* %12, %"class.boost::unit_test::basic_cstring"* byval align 4 %agg.tmp36, i32 138, i32 1, i32 2, i32* %ref.tmp39, i8* getelementptr inbounds ([2 x i8]* @.str14, i32 0, i32 0), i32* %ref.tmp46, i8* getelementptr inbounds ([11 x i8]* @.str15, i32 0, i32 0))
          to label %invoke.cont47 unwind label %lpad37

invoke.cont47:                                    ; preds = %invoke.cont44
  invoke void @_ZN5boost9unit_test17lazy_ostream_implIRA1_KcED1Ev(%"class.boost::unit_test::lazy_ostream_impl"* %ref.tmp32)
          to label %invoke.cont49 unwind label %lpad26

invoke.cont49:                                    ; preds = %invoke.cont47
  br label %do.cond51

do.cond51:                                        ; preds = %invoke.cont49
  %17 = load i8* @_ZN5boost10test_tools12_GLOBAL__N_110dummy_condE, align 1
  %tobool52 = trunc i8 %17 to i1
  br i1 %tobool52, label %do.body24, label %do.end53

do.end53:                                         ; preds = %do.cond51
  %18 = bitcast %"class.std::basic_stringstream"* %ss to i8*
  %add.ptr54 = getelementptr inbounds i8* %18, i32 8
  %19 = bitcast i8* %add.ptr54 to %"class.std::basic_ostream"*
  invoke void @_ZSt4setwi(%"struct.std::_Setw"* sret %agg.tmp55, i32 4)
          to label %invoke.cont56 unwind label %lpad26

invoke.cont56:                                    ; preds = %do.end53
  %call58 = invoke %"class.std::basic_ostream"* @_ZStlsIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_St5_Setw(%"class.std::basic_ostream"* %19, %"struct.std::_Setw"* byval align 4 %agg.tmp55)
          to label %invoke.cont57 unwind label %lpad26

invoke.cont57:                                    ; preds = %invoke.cont56
  br label %do.body59

do.body59:                                        ; preds = %do.cond85, %invoke.cont57
  %20 = load %"class.boost::unit_test::unit_test_log_t"** @_ZN5boost9unit_test12_GLOBAL__N_113unit_test_logE, align 4
  invoke void @_ZN5boost9unit_test13basic_cstringIKcEC1EPS2_j(%"class.boost::unit_test::basic_cstring"* %agg.tmp60, i8* getelementptr inbounds ([24 x i8]* @.str, i32 0, i32 0), i32 23)
          to label %invoke.cont61 unwind label %lpad26

invoke.cont61:                                    ; preds = %do.body59
  invoke void @_ZN5boost9unit_test13basic_cstringIKcEC1Ev(%"class.boost::unit_test::basic_cstring"* %agg.tmp62)
          to label %invoke.cont63 unwind label %lpad26

invoke.cont63:                                    ; preds = %invoke.cont61
  invoke void @_ZN5boost9unit_test15unit_test_log_t14set_checkpointENS0_13basic_cstringIKcEEjS4_(%"class.boost::unit_test::unit_test_log_t"* %20, %"class.boost::unit_test::basic_cstring"* byval align 4 %agg.tmp60, i32 141, %"class.boost::unit_test::basic_cstring"* byval align 4 %agg.tmp62)
          to label %invoke.cont64 unwind label %lpad26

invoke.cont64:                                    ; preds = %invoke.cont63
  %call68 = invoke %"class.boost::unit_test::lazy_ostream"* @_ZN5boost9unit_test12lazy_ostream8instanceEv()
          to label %invoke.cont67 unwind label %lpad26

invoke.cont67:                                    ; preds = %invoke.cont64
  invoke void @_ZN5boost9unit_testlsIA1_cEENS0_17lazy_ostream_implIRKT_EERKNS0_12lazy_ostreamES6_(%"class.boost::unit_test::lazy_ostream_impl"* sret %ref.tmp66, %"class.boost::unit_test::lazy_ostream"* %call68, [1 x i8]* @.str3)
          to label %invoke.cont69 unwind label %lpad26

invoke.cont69:                                    ; preds = %invoke.cont67
  %21 = bitcast %"class.boost::unit_test::lazy_ostream_impl"* %ref.tmp66 to %"class.boost::unit_test::lazy_ostream"*
  invoke void @_ZN5boost9unit_test13basic_cstringIKcEC1EPS2_j(%"class.boost::unit_test::basic_cstring"* %agg.tmp70, i8* getelementptr inbounds ([24 x i8]* @.str, i32 0, i32 0), i32 23)
          to label %invoke.cont72 unwind label %lpad71

invoke.cont72:                                    ; preds = %invoke.cont69
  store i32 4, i32* %ref.tmp73, align 4
  %22 = bitcast %"class.std::basic_stringstream"* %ss to i8**
  %vtable74 = load i8** %22
  %vbase.offset.ptr75 = getelementptr i8* %vtable74, i64 -12
  %23 = bitcast i8* %vbase.offset.ptr75 to i32*
  %vbase.offset76 = load i32* %23
  %24 = bitcast %"class.std::basic_stringstream"* %ss to i8*
  %add.ptr77 = getelementptr inbounds i8* %24, i32 %vbase.offset76
  %25 = bitcast i8* %add.ptr77 to %"class.std::ios_base"*
  %call79 = invoke i32 @_ZNKSt8ios_base5widthEv(%"class.std::ios_base"* %25)
          to label %invoke.cont78 unwind label %lpad71

invoke.cont78:                                    ; preds = %invoke.cont72
  store i32 %call79, i32* %ref.tmp80, align 4
  %call82 = invoke zeroext i1 @_ZN5boost10test_tools9tt_detail10check_frwdINS1_15equal_impl_frwdEiiEEbT_RKNS_9unit_test12lazy_ostreamENS5_13basic_cstringIKcEEjNS1_10tool_levelENS1_10check_typeERKT0_PSA_RKT1_SH_(%"class.boost::unit_test::lazy_ostream"* %21, %"class.boost::unit_test::basic_cstring"* byval align 4 %agg.tmp70, i32 141, i32 1, i32 2, i32* %ref.tmp73, i8* getelementptr inbounds ([2 x i8]* @.str11, i32 0, i32 0), i32* %ref.tmp80, i8* getelementptr inbounds ([11 x i8]* @.str15, i32 0, i32 0))
          to label %invoke.cont81 unwind label %lpad71

invoke.cont81:                                    ; preds = %invoke.cont78
  invoke void @_ZN5boost9unit_test17lazy_ostream_implIRA1_KcED1Ev(%"class.boost::unit_test::lazy_ostream_impl"* %ref.tmp66)
          to label %invoke.cont83 unwind label %lpad26

invoke.cont83:                                    ; preds = %invoke.cont81
  br label %do.cond85

do.cond85:                                        ; preds = %invoke.cont83
  %26 = load i8* @_ZN5boost10test_tools12_GLOBAL__N_110dummy_condE, align 1
  %tobool86 = trunc i8 %26 to i1
  br i1 %tobool86, label %do.body59, label %do.end87

do.end87:                                         ; preds = %do.cond85
  invoke void @_ZN5boost2io15ios_width_saverD1Ev(%"class.boost::io::ios_width_saver"* %iws)
          to label %invoke.cont88 unwind label %lpad

invoke.cont88:                                    ; preds = %do.end87
  br label %do.body90

do.body90:                                        ; preds = %do.cond117, %invoke.cont88
  %27 = load %"class.boost::unit_test::unit_test_log_t"** @_ZN5boost9unit_test12_GLOBAL__N_113unit_test_logE, align 4
  invoke void @_ZN5boost9unit_test13basic_cstringIKcEC1EPS2_j(%"class.boost::unit_test::basic_cstring"* %agg.tmp91, i8* getelementptr inbounds ([24 x i8]* @.str, i32 0, i32 0), i32 23)
          to label %invoke.cont92 unwind label %lpad

invoke.cont92:                                    ; preds = %do.body90
  invoke void @_ZN5boost9unit_test13basic_cstringIKcEC1Ev(%"class.boost::unit_test::basic_cstring"* %agg.tmp93)
          to label %invoke.cont94 unwind label %lpad

invoke.cont94:                                    ; preds = %invoke.cont92
  invoke void @_ZN5boost9unit_test15unit_test_log_t14set_checkpointENS0_13basic_cstringIKcEEjS4_(%"class.boost::unit_test::unit_test_log_t"* %27, %"class.boost::unit_test::basic_cstring"* byval align 4 %agg.tmp91, i32 144, %"class.boost::unit_test::basic_cstring"* byval align 4 %agg.tmp93)
          to label %invoke.cont95 unwind label %lpad

invoke.cont95:                                    ; preds = %invoke.cont94
  %call99 = invoke %"class.boost::unit_test::lazy_ostream"* @_ZN5boost9unit_test12lazy_ostream8instanceEv()
          to label %invoke.cont98 unwind label %lpad

invoke.cont98:                                    ; preds = %invoke.cont95
  invoke void @_ZN5boost9unit_testlsIA1_cEENS0_17lazy_ostream_implIRKT_EERKNS0_12lazy_ostreamES6_(%"class.boost::unit_test::lazy_ostream_impl"* sret %ref.tmp97, %"class.boost::unit_test::lazy_ostream"* %call99, [1 x i8]* @.str3)
          to label %invoke.cont100 unwind label %lpad

invoke.cont100:                                   ; preds = %invoke.cont98
  %28 = bitcast %"class.boost::unit_test::lazy_ostream_impl"* %ref.tmp97 to %"class.boost::unit_test::lazy_ostream"*
  invoke void @_ZN5boost9unit_test13basic_cstringIKcEC1EPS2_j(%"class.boost::unit_test::basic_cstring"* %agg.tmp101, i8* getelementptr inbounds ([24 x i8]* @.str, i32 0, i32 0), i32 23)
          to label %invoke.cont103 unwind label %lpad102

invoke.cont103:                                   ; preds = %invoke.cont100
  store i32 0, i32* %ref.tmp104, align 4
  %29 = bitcast %"class.std::basic_stringstream"* %ss to i8**
  %vtable105 = load i8** %29
  %vbase.offset.ptr106 = getelementptr i8* %vtable105, i64 -12
  %30 = bitcast i8* %vbase.offset.ptr106 to i32*
  %vbase.offset107 = load i32* %30
  %31 = bitcast %"class.std::basic_stringstream"* %ss to i8*
  %add.ptr108 = getelementptr inbounds i8* %31, i32 %vbase.offset107
  %32 = bitcast i8* %add.ptr108 to %"class.std::ios_base"*
  %call110 = invoke i32 @_ZNKSt8ios_base5widthEv(%"class.std::ios_base"* %32)
          to label %invoke.cont109 unwind label %lpad102

invoke.cont109:                                   ; preds = %invoke.cont103
  store i32 %call110, i32* %ref.tmp111, align 4
  %call113 = invoke zeroext i1 @_ZN5boost10test_tools9tt_detail10check_frwdINS1_15equal_impl_frwdEiiEEbT_RKNS_9unit_test12lazy_ostreamENS5_13basic_cstringIKcEEjNS1_10tool_levelENS1_10check_typeERKT0_PSA_RKT1_SH_(%"class.boost::unit_test::lazy_ostream"* %28, %"class.boost::unit_test::basic_cstring"* byval align 4 %agg.tmp101, i32 144, i32 1, i32 2, i32* %ref.tmp104, i8* getelementptr inbounds ([2 x i8]* @.str14, i32 0, i32 0), i32* %ref.tmp111, i8* getelementptr inbounds ([11 x i8]* @.str15, i32 0, i32 0))
          to label %invoke.cont112 unwind label %lpad102

invoke.cont112:                                   ; preds = %invoke.cont109
  invoke void @_ZN5boost9unit_test17lazy_ostream_implIRA1_KcED1Ev(%"class.boost::unit_test::lazy_ostream_impl"* %ref.tmp97)
          to label %invoke.cont114 unwind label %lpad

invoke.cont114:                                   ; preds = %invoke.cont112
  br label %do.cond117

do.cond117:                                       ; preds = %invoke.cont114
  %33 = load i8* @_ZN5boost10test_tools12_GLOBAL__N_110dummy_condE, align 1
  %tobool118 = trunc i8 %33 to i1
  br i1 %tobool118, label %do.body90, label %do.end119

do.end119:                                        ; preds = %do.cond117
  %34 = bitcast %"class.std::basic_stringstream"* %ss to i8**
  %vtable121 = load i8** %34
  %vbase.offset.ptr122 = getelementptr i8* %vtable121, i64 -12
  %35 = bitcast i8* %vbase.offset.ptr122 to i32*
  %vbase.offset123 = load i32* %35
  %36 = bitcast %"class.std::basic_stringstream"* %ss to i8*
  %add.ptr124 = getelementptr inbounds i8* %36, i32 %vbase.offset123
  %37 = bitcast i8* %add.ptr124 to %"class.std::ios_base"*
  store i32 8, i32* %ref.tmp125, align 4
  invoke void @_ZN5boost2io15ios_width_saverC1ERSt8ios_baseRKi(%"class.boost::io::ios_width_saver"* %iws120, %"class.std::ios_base"* %37, i32* %ref.tmp125)
          to label %invoke.cont126 unwind label %lpad

invoke.cont126:                                   ; preds = %do.end119
  br label %do.body127

do.body127:                                       ; preds = %do.cond155, %invoke.cont126
  %38 = load %"class.boost::unit_test::unit_test_log_t"** @_ZN5boost9unit_test12_GLOBAL__N_113unit_test_logE, align 4
  invoke void @_ZN5boost9unit_test13basic_cstringIKcEC1EPS2_j(%"class.boost::unit_test::basic_cstring"* %agg.tmp128, i8* getelementptr inbounds ([24 x i8]* @.str, i32 0, i32 0), i32 23)
          to label %invoke.cont130 unwind label %lpad129

invoke.cont130:                                   ; preds = %do.body127
  invoke void @_ZN5boost9unit_test13basic_cstringIKcEC1Ev(%"class.boost::unit_test::basic_cstring"* %agg.tmp131)
          to label %invoke.cont132 unwind label %lpad129

invoke.cont132:                                   ; preds = %invoke.cont130
  invoke void @_ZN5boost9unit_test15unit_test_log_t14set_checkpointENS0_13basic_cstringIKcEEjS4_(%"class.boost::unit_test::unit_test_log_t"* %38, %"class.boost::unit_test::basic_cstring"* byval align 4 %agg.tmp128, i32 149, %"class.boost::unit_test::basic_cstring"* byval align 4 %agg.tmp131)
          to label %invoke.cont133 unwind label %lpad129

invoke.cont133:                                   ; preds = %invoke.cont132
  %call137 = invoke %"class.boost::unit_test::lazy_ostream"* @_ZN5boost9unit_test12lazy_ostream8instanceEv()
          to label %invoke.cont136 unwind label %lpad129

invoke.cont136:                                   ; preds = %invoke.cont133
  invoke void @_ZN5boost9unit_testlsIA1_cEENS0_17lazy_ostream_implIRKT_EERKNS0_12lazy_ostreamES6_(%"class.boost::unit_test::lazy_ostream_impl"* sret %ref.tmp135, %"class.boost::unit_test::lazy_ostream"* %call137, [1 x i8]* @.str3)
          to label %invoke.cont138 unwind label %lpad129

invoke.cont138:                                   ; preds = %invoke.cont136
  %39 = bitcast %"class.boost::unit_test::lazy_ostream_impl"* %ref.tmp135 to %"class.boost::unit_test::lazy_ostream"*
  invoke void @_ZN5boost9unit_test13basic_cstringIKcEC1EPS2_j(%"class.boost::unit_test::basic_cstring"* %agg.tmp139, i8* getelementptr inbounds ([24 x i8]* @.str, i32 0, i32 0), i32 23)
          to label %invoke.cont141 unwind label %lpad140

invoke.cont141:                                   ; preds = %invoke.cont138
  store i32 8, i32* %ref.tmp142, align 4
  %40 = bitcast %"class.std::basic_stringstream"* %ss to i8**
  %vtable143 = load i8** %40
  %vbase.offset.ptr144 = getelementptr i8* %vtable143, i64 -12
  %41 = bitcast i8* %vbase.offset.ptr144 to i32*
  %vbase.offset145 = load i32* %41
  %42 = bitcast %"class.std::basic_stringstream"* %ss to i8*
  %add.ptr146 = getelementptr inbounds i8* %42, i32 %vbase.offset145
  %43 = bitcast i8* %add.ptr146 to %"class.std::ios_base"*
  %call148 = invoke i32 @_ZNKSt8ios_base5widthEv(%"class.std::ios_base"* %43)
          to label %invoke.cont147 unwind label %lpad140

invoke.cont147:                                   ; preds = %invoke.cont141
  store i32 %call148, i32* %ref.tmp149, align 4
  %call151 = invoke zeroext i1 @_ZN5boost10test_tools9tt_detail10check_frwdINS1_15equal_impl_frwdEiiEEbT_RKNS_9unit_test12lazy_ostreamENS5_13basic_cstringIKcEEjNS1_10tool_levelENS1_10check_typeERKT0_PSA_RKT1_SH_(%"class.boost::unit_test::lazy_ostream"* %39, %"class.boost::unit_test::basic_cstring"* byval align 4 %agg.tmp139, i32 149, i32 1, i32 2, i32* %ref.tmp142, i8* getelementptr inbounds ([2 x i8]* @.str12, i32 0, i32 0), i32* %ref.tmp149, i8* getelementptr inbounds ([11 x i8]* @.str15, i32 0, i32 0))
          to label %invoke.cont150 unwind label %lpad140

invoke.cont150:                                   ; preds = %invoke.cont147
  invoke void @_ZN5boost9unit_test17lazy_ostream_implIRA1_KcED1Ev(%"class.boost::unit_test::lazy_ostream_impl"* %ref.tmp135)
          to label %invoke.cont152 unwind label %lpad129

invoke.cont152:                                   ; preds = %invoke.cont150
  br label %do.cond155

do.cond155:                                       ; preds = %invoke.cont152
  %44 = load i8* @_ZN5boost10test_tools12_GLOBAL__N_110dummy_condE, align 1
  %tobool156 = trunc i8 %44 to i1
  br i1 %tobool156, label %do.body127, label %do.end157

do.end157:                                        ; preds = %do.cond155
  %45 = bitcast %"class.std::basic_stringstream"* %ss to i8*
  %add.ptr158 = getelementptr inbounds i8* %45, i32 8
  %46 = bitcast i8* %add.ptr158 to %"class.std::basic_ostream"*
  invoke void @_ZSt4setwi(%"struct.std::_Setw"* sret %agg.tmp159, i32 10)
          to label %invoke.cont160 unwind label %lpad129

invoke.cont160:                                   ; preds = %do.end157
  %call162 = invoke %"class.std::basic_ostream"* @_ZStlsIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_St5_Setw(%"class.std::basic_ostream"* %46, %"struct.std::_Setw"* byval align 4 %agg.tmp159)
          to label %invoke.cont161 unwind label %lpad129

invoke.cont161:                                   ; preds = %invoke.cont160
  br label %do.body163

do.body163:                                       ; preds = %do.cond190, %invoke.cont161
  %47 = load %"class.boost::unit_test::unit_test_log_t"** @_ZN5boost9unit_test12_GLOBAL__N_113unit_test_logE, align 4
  invoke void @_ZN5boost9unit_test13basic_cstringIKcEC1EPS2_j(%"class.boost::unit_test::basic_cstring"* %agg.tmp164, i8* getelementptr inbounds ([24 x i8]* @.str, i32 0, i32 0), i32 23)
          to label %invoke.cont165 unwind label %lpad129

invoke.cont165:                                   ; preds = %do.body163
  invoke void @_ZN5boost9unit_test13basic_cstringIKcEC1Ev(%"class.boost::unit_test::basic_cstring"* %agg.tmp166)
          to label %invoke.cont167 unwind label %lpad129

invoke.cont167:                                   ; preds = %invoke.cont165
  invoke void @_ZN5boost9unit_test15unit_test_log_t14set_checkpointENS0_13basic_cstringIKcEEjS4_(%"class.boost::unit_test::unit_test_log_t"* %47, %"class.boost::unit_test::basic_cstring"* byval align 4 %agg.tmp164, i32 152, %"class.boost::unit_test::basic_cstring"* byval align 4 %agg.tmp166)
          to label %invoke.cont168 unwind label %lpad129

invoke.cont168:                                   ; preds = %invoke.cont167
  %call172 = invoke %"class.boost::unit_test::lazy_ostream"* @_ZN5boost9unit_test12lazy_ostream8instanceEv()
          to label %invoke.cont171 unwind label %lpad129

invoke.cont171:                                   ; preds = %invoke.cont168
  invoke void @_ZN5boost9unit_testlsIA1_cEENS0_17lazy_ostream_implIRKT_EERKNS0_12lazy_ostreamES6_(%"class.boost::unit_test::lazy_ostream_impl"* sret %ref.tmp170, %"class.boost::unit_test::lazy_ostream"* %call172, [1 x i8]* @.str3)
          to label %invoke.cont173 unwind label %lpad129

invoke.cont173:                                   ; preds = %invoke.cont171
  %48 = bitcast %"class.boost::unit_test::lazy_ostream_impl"* %ref.tmp170 to %"class.boost::unit_test::lazy_ostream"*
  invoke void @_ZN5boost9unit_test13basic_cstringIKcEC1EPS2_j(%"class.boost::unit_test::basic_cstring"* %agg.tmp174, i8* getelementptr inbounds ([24 x i8]* @.str, i32 0, i32 0), i32 23)
          to label %invoke.cont176 unwind label %lpad175

invoke.cont176:                                   ; preds = %invoke.cont173
  store i32 10, i32* %ref.tmp177, align 4
  %49 = bitcast %"class.std::basic_stringstream"* %ss to i8**
  %vtable178 = load i8** %49
  %vbase.offset.ptr179 = getelementptr i8* %vtable178, i64 -12
  %50 = bitcast i8* %vbase.offset.ptr179 to i32*
  %vbase.offset180 = load i32* %50
  %51 = bitcast %"class.std::basic_stringstream"* %ss to i8*
  %add.ptr181 = getelementptr inbounds i8* %51, i32 %vbase.offset180
  %52 = bitcast i8* %add.ptr181 to %"class.std::ios_base"*
  %call183 = invoke i32 @_ZNKSt8ios_base5widthEv(%"class.std::ios_base"* %52)
          to label %invoke.cont182 unwind label %lpad175

invoke.cont182:                                   ; preds = %invoke.cont176
  store i32 %call183, i32* %ref.tmp184, align 4
  %call186 = invoke zeroext i1 @_ZN5boost10test_tools9tt_detail10check_frwdINS1_15equal_impl_frwdEiiEEbT_RKNS_9unit_test12lazy_ostreamENS5_13basic_cstringIKcEEjNS1_10tool_levelENS1_10check_typeERKT0_PSA_RKT1_SH_(%"class.boost::unit_test::lazy_ostream"* %48, %"class.boost::unit_test::basic_cstring"* byval align 4 %agg.tmp174, i32 152, i32 1, i32 2, i32* %ref.tmp177, i8* getelementptr inbounds ([3 x i8]* @.str13, i32 0, i32 0), i32* %ref.tmp184, i8* getelementptr inbounds ([11 x i8]* @.str15, i32 0, i32 0))
          to label %invoke.cont185 unwind label %lpad175

invoke.cont185:                                   ; preds = %invoke.cont182
  invoke void @_ZN5boost9unit_test17lazy_ostream_implIRA1_KcED1Ev(%"class.boost::unit_test::lazy_ostream_impl"* %ref.tmp170)
          to label %invoke.cont187 unwind label %lpad129

invoke.cont187:                                   ; preds = %invoke.cont185
  br label %do.cond190

do.cond190:                                       ; preds = %invoke.cont187
  %53 = load i8* @_ZN5boost10test_tools12_GLOBAL__N_110dummy_condE, align 1
  %tobool191 = trunc i8 %53 to i1
  br i1 %tobool191, label %do.body163, label %do.end192

do.end192:                                        ; preds = %do.cond190
  invoke void @_ZN5boost2io15ios_width_saverD1Ev(%"class.boost::io::ios_width_saver"* %iws120)
          to label %invoke.cont193 unwind label %lpad

invoke.cont193:                                   ; preds = %do.end192
  br label %do.body196

do.body196:                                       ; preds = %do.cond223, %invoke.cont193
  %54 = load %"class.boost::unit_test::unit_test_log_t"** @_ZN5boost9unit_test12_GLOBAL__N_113unit_test_logE, align 4
  invoke void @_ZN5boost9unit_test13basic_cstringIKcEC1EPS2_j(%"class.boost::unit_test::basic_cstring"* %agg.tmp197, i8* getelementptr inbounds ([24 x i8]* @.str, i32 0, i32 0), i32 23)
          to label %invoke.cont198 unwind label %lpad

invoke.cont198:                                   ; preds = %do.body196
  invoke void @_ZN5boost9unit_test13basic_cstringIKcEC1Ev(%"class.boost::unit_test::basic_cstring"* %agg.tmp199)
          to label %invoke.cont200 unwind label %lpad

invoke.cont200:                                   ; preds = %invoke.cont198
  invoke void @_ZN5boost9unit_test15unit_test_log_t14set_checkpointENS0_13basic_cstringIKcEEjS4_(%"class.boost::unit_test::unit_test_log_t"* %54, %"class.boost::unit_test::basic_cstring"* byval align 4 %agg.tmp197, i32 155, %"class.boost::unit_test::basic_cstring"* byval align 4 %agg.tmp199)
          to label %invoke.cont201 unwind label %lpad

invoke.cont201:                                   ; preds = %invoke.cont200
  %call205 = invoke %"class.boost::unit_test::lazy_ostream"* @_ZN5boost9unit_test12lazy_ostream8instanceEv()
          to label %invoke.cont204 unwind label %lpad

invoke.cont204:                                   ; preds = %invoke.cont201
  invoke void @_ZN5boost9unit_testlsIA1_cEENS0_17lazy_ostream_implIRKT_EERKNS0_12lazy_ostreamES6_(%"class.boost::unit_test::lazy_ostream_impl"* sret %ref.tmp203, %"class.boost::unit_test::lazy_ostream"* %call205, [1 x i8]* @.str3)
          to label %invoke.cont206 unwind label %lpad

invoke.cont206:                                   ; preds = %invoke.cont204
  %55 = bitcast %"class.boost::unit_test::lazy_ostream_impl"* %ref.tmp203 to %"class.boost::unit_test::lazy_ostream"*
  invoke void @_ZN5boost9unit_test13basic_cstringIKcEC1EPS2_j(%"class.boost::unit_test::basic_cstring"* %agg.tmp207, i8* getelementptr inbounds ([24 x i8]* @.str, i32 0, i32 0), i32 23)
          to label %invoke.cont209 unwind label %lpad208

invoke.cont209:                                   ; preds = %invoke.cont206
  store i32 0, i32* %ref.tmp210, align 4
  %56 = bitcast %"class.std::basic_stringstream"* %ss to i8**
  %vtable211 = load i8** %56
  %vbase.offset.ptr212 = getelementptr i8* %vtable211, i64 -12
  %57 = bitcast i8* %vbase.offset.ptr212 to i32*
  %vbase.offset213 = load i32* %57
  %58 = bitcast %"class.std::basic_stringstream"* %ss to i8*
  %add.ptr214 = getelementptr inbounds i8* %58, i32 %vbase.offset213
  %59 = bitcast i8* %add.ptr214 to %"class.std::ios_base"*
  %call216 = invoke i32 @_ZNKSt8ios_base5widthEv(%"class.std::ios_base"* %59)
          to label %invoke.cont215 unwind label %lpad208

invoke.cont215:                                   ; preds = %invoke.cont209
  store i32 %call216, i32* %ref.tmp217, align 4
  %call219 = invoke zeroext i1 @_ZN5boost10test_tools9tt_detail10check_frwdINS1_15equal_impl_frwdEiiEEbT_RKNS_9unit_test12lazy_ostreamENS5_13basic_cstringIKcEEjNS1_10tool_levelENS1_10check_typeERKT0_PSA_RKT1_SH_(%"class.boost::unit_test::lazy_ostream"* %55, %"class.boost::unit_test::basic_cstring"* byval align 4 %agg.tmp207, i32 155, i32 1, i32 2, i32* %ref.tmp210, i8* getelementptr inbounds ([2 x i8]* @.str14, i32 0, i32 0), i32* %ref.tmp217, i8* getelementptr inbounds ([11 x i8]* @.str15, i32 0, i32 0))
          to label %invoke.cont218 unwind label %lpad208

invoke.cont218:                                   ; preds = %invoke.cont215
  invoke void @_ZN5boost9unit_test17lazy_ostream_implIRA1_KcED1Ev(%"class.boost::unit_test::lazy_ostream_impl"* %ref.tmp203)
          to label %invoke.cont220 unwind label %lpad

invoke.cont220:                                   ; preds = %invoke.cont218
  br label %do.cond223

do.cond223:                                       ; preds = %invoke.cont220
  %60 = load i8* @_ZN5boost10test_tools12_GLOBAL__N_110dummy_condE, align 1
  %tobool224 = trunc i8 %60 to i1
  br i1 %tobool224, label %do.body196, label %do.end225

do.end225:                                        ; preds = %do.cond223
  call void @_ZNSt18basic_stringstreamIcSt11char_traitsIcESaIcEED1Ev(%"class.std::basic_stringstream"* %ss)
  ret void

lpad:                                             ; preds = %invoke.cont218, %invoke.cont204, %invoke.cont201, %invoke.cont200, %invoke.cont198, %do.body196, %do.end192, %do.end119, %invoke.cont112, %invoke.cont98, %invoke.cont95, %invoke.cont94, %invoke.cont92, %do.body90, %do.end87, %do.end, %invoke.cont15, %invoke.cont5, %invoke.cont3, %invoke.cont2, %invoke.cont, %do.body
  %61 = landingpad { i8*, i32 } personality i8* bitcast (i32 (...)* @__gxx_personality_v0 to i8*)
          cleanup
  %62 = extractvalue { i8*, i32 } %61, 0
  store i8* %62, i8** %exn.slot
  %63 = extractvalue { i8*, i32 } %61, 1
  store i32 %63, i32* %ehselector.slot
  br label %ehcleanup226

lpad9:                                            ; preds = %invoke.cont12, %invoke.cont10, %invoke.cont7
  %64 = landingpad { i8*, i32 } personality i8* bitcast (i32 (...)* @__gxx_personality_v0 to i8*)
          cleanup
  %65 = extractvalue { i8*, i32 } %64, 0
  store i8* %65, i8** %exn.slot
  %66 = extractvalue { i8*, i32 } %64, 1
  store i32 %66, i32* %ehselector.slot
  invoke void @_ZN5boost9unit_test17lazy_ostream_implIRA1_KcED1Ev(%"class.boost::unit_test::lazy_ostream_impl"* %ref.tmp)
          to label %invoke.cont18 unwind label %terminate.lpad

invoke.cont18:                                    ; preds = %lpad9
  br label %ehcleanup226

lpad26:                                           ; preds = %invoke.cont81, %invoke.cont67, %invoke.cont64, %invoke.cont63, %invoke.cont61, %do.body59, %invoke.cont56, %do.end53, %invoke.cont47, %invoke.cont33, %invoke.cont30, %invoke.cont29, %invoke.cont27, %do.body24
  %67 = landingpad { i8*, i32 } personality i8* bitcast (i32 (...)* @__gxx_personality_v0 to i8*)
          cleanup
  %68 = extractvalue { i8*, i32 } %67, 0
  store i8* %68, i8** %exn.slot
  %69 = extractvalue { i8*, i32 } %67, 1
  store i32 %69, i32* %ehselector.slot
  br label %ehcleanup

lpad37:                                           ; preds = %invoke.cont44, %invoke.cont38, %invoke.cont35
  %70 = landingpad { i8*, i32 } personality i8* bitcast (i32 (...)* @__gxx_personality_v0 to i8*)
          cleanup
  %71 = extractvalue { i8*, i32 } %70, 0
  store i8* %71, i8** %exn.slot
  %72 = extractvalue { i8*, i32 } %70, 1
  store i32 %72, i32* %ehselector.slot
  invoke void @_ZN5boost9unit_test17lazy_ostream_implIRA1_KcED1Ev(%"class.boost::unit_test::lazy_ostream_impl"* %ref.tmp32)
          to label %invoke.cont50 unwind label %terminate.lpad

invoke.cont50:                                    ; preds = %lpad37
  br label %ehcleanup

lpad71:                                           ; preds = %invoke.cont78, %invoke.cont72, %invoke.cont69
  %73 = landingpad { i8*, i32 } personality i8* bitcast (i32 (...)* @__gxx_personality_v0 to i8*)
          cleanup
  %74 = extractvalue { i8*, i32 } %73, 0
  store i8* %74, i8** %exn.slot
  %75 = extractvalue { i8*, i32 } %73, 1
  store i32 %75, i32* %ehselector.slot
  invoke void @_ZN5boost9unit_test17lazy_ostream_implIRA1_KcED1Ev(%"class.boost::unit_test::lazy_ostream_impl"* %ref.tmp66)
          to label %invoke.cont84 unwind label %terminate.lpad

invoke.cont84:                                    ; preds = %lpad71
  br label %ehcleanup

ehcleanup:                                        ; preds = %invoke.cont84, %invoke.cont50, %lpad26
  invoke void @_ZN5boost2io15ios_width_saverD1Ev(%"class.boost::io::ios_width_saver"* %iws)
          to label %invoke.cont89 unwind label %terminate.lpad

invoke.cont89:                                    ; preds = %ehcleanup
  br label %ehcleanup226

lpad102:                                          ; preds = %invoke.cont109, %invoke.cont103, %invoke.cont100
  %76 = landingpad { i8*, i32 } personality i8* bitcast (i32 (...)* @__gxx_personality_v0 to i8*)
          cleanup
  %77 = extractvalue { i8*, i32 } %76, 0
  store i8* %77, i8** %exn.slot
  %78 = extractvalue { i8*, i32 } %76, 1
  store i32 %78, i32* %ehselector.slot
  invoke void @_ZN5boost9unit_test17lazy_ostream_implIRA1_KcED1Ev(%"class.boost::unit_test::lazy_ostream_impl"* %ref.tmp97)
          to label %invoke.cont116 unwind label %terminate.lpad

invoke.cont116:                                   ; preds = %lpad102
  br label %ehcleanup226

lpad129:                                          ; preds = %invoke.cont185, %invoke.cont171, %invoke.cont168, %invoke.cont167, %invoke.cont165, %do.body163, %invoke.cont160, %do.end157, %invoke.cont150, %invoke.cont136, %invoke.cont133, %invoke.cont132, %invoke.cont130, %do.body127
  %79 = landingpad { i8*, i32 } personality i8* bitcast (i32 (...)* @__gxx_personality_v0 to i8*)
          cleanup
  %80 = extractvalue { i8*, i32 } %79, 0
  store i8* %80, i8** %exn.slot
  %81 = extractvalue { i8*, i32 } %79, 1
  store i32 %81, i32* %ehselector.slot
  br label %ehcleanup194

lpad140:                                          ; preds = %invoke.cont147, %invoke.cont141, %invoke.cont138
  %82 = landingpad { i8*, i32 } personality i8* bitcast (i32 (...)* @__gxx_personality_v0 to i8*)
          cleanup
  %83 = extractvalue { i8*, i32 } %82, 0
  store i8* %83, i8** %exn.slot
  %84 = extractvalue { i8*, i32 } %82, 1
  store i32 %84, i32* %ehselector.slot
  invoke void @_ZN5boost9unit_test17lazy_ostream_implIRA1_KcED1Ev(%"class.boost::unit_test::lazy_ostream_impl"* %ref.tmp135)
          to label %invoke.cont154 unwind label %terminate.lpad

invoke.cont154:                                   ; preds = %lpad140
  br label %ehcleanup194

lpad175:                                          ; preds = %invoke.cont182, %invoke.cont176, %invoke.cont173
  %85 = landingpad { i8*, i32 } personality i8* bitcast (i32 (...)* @__gxx_personality_v0 to i8*)
          cleanup
  %86 = extractvalue { i8*, i32 } %85, 0
  store i8* %86, i8** %exn.slot
  %87 = extractvalue { i8*, i32 } %85, 1
  store i32 %87, i32* %ehselector.slot
  invoke void @_ZN5boost9unit_test17lazy_ostream_implIRA1_KcED1Ev(%"class.boost::unit_test::lazy_ostream_impl"* %ref.tmp170)
          to label %invoke.cont189 unwind label %terminate.lpad

invoke.cont189:                                   ; preds = %lpad175
  br label %ehcleanup194

ehcleanup194:                                     ; preds = %invoke.cont189, %invoke.cont154, %lpad129
  invoke void @_ZN5boost2io15ios_width_saverD1Ev(%"class.boost::io::ios_width_saver"* %iws120)
          to label %invoke.cont195 unwind label %terminate.lpad

invoke.cont195:                                   ; preds = %ehcleanup194
  br label %ehcleanup226

lpad208:                                          ; preds = %invoke.cont215, %invoke.cont209, %invoke.cont206
  %88 = landingpad { i8*, i32 } personality i8* bitcast (i32 (...)* @__gxx_personality_v0 to i8*)
          cleanup
  %89 = extractvalue { i8*, i32 } %88, 0
  store i8* %89, i8** %exn.slot
  %90 = extractvalue { i8*, i32 } %88, 1
  store i32 %90, i32* %ehselector.slot
  invoke void @_ZN5boost9unit_test17lazy_ostream_implIRA1_KcED1Ev(%"class.boost::unit_test::lazy_ostream_impl"* %ref.tmp203)
          to label %invoke.cont222 unwind label %terminate.lpad

invoke.cont222:                                   ; preds = %lpad208
  br label %ehcleanup226

ehcleanup226:                                     ; preds = %invoke.cont222, %invoke.cont195, %invoke.cont116, %invoke.cont89, %invoke.cont18, %lpad
  invoke void @_ZNSt18basic_stringstreamIcSt11char_traitsIcESaIcEED1Ev(%"class.std::basic_stringstream"* %ss)
          to label %invoke.cont227 unwind label %terminate.lpad

invoke.cont227:                                   ; preds = %ehcleanup226
  br label %eh.resume

eh.resume:                                        ; preds = %invoke.cont227
  %exn = load i8** %exn.slot
  %sel = load i32* %ehselector.slot
  %lpad.val = insertvalue { i8*, i32 } undef, i8* %exn, 0
  %lpad.val228 = insertvalue { i8*, i32 } %lpad.val, i32 %sel, 1
  resume { i8*, i32 } %lpad.val228

terminate.lpad:                                   ; preds = %ehcleanup226, %lpad208, %ehcleanup194, %lpad175, %lpad140, %lpad102, %ehcleanup, %lpad71, %lpad37, %lpad9
  %91 = landingpad { i8*, i32 } personality i8* bitcast (i32 (...)* @__gxx_personality_v0 to i8*)
          catch i8* null
  call void @_ZSt9terminatev() noreturn nounwind
  unreachable
}

define linkonce_odr i32 @_ZNKSt8ios_base5widthEv(%"class.std::ios_base"* %this) nounwind align 2 {
entry:
  %this.addr = alloca %"class.std::ios_base"*, align 4
  store %"class.std::ios_base"* %this, %"class.std::ios_base"** %this.addr, align 4
  %this1 = load %"class.std::ios_base"** %this.addr
  %_M_width = getelementptr inbounds %"class.std::ios_base"* %this1, i32 0, i32 2
  %0 = load i32* %_M_width, align 4
  ret i32 %0
}

define linkonce_odr void @_ZN5boost2io15ios_width_saverC1ERSt8ios_base(%"class.boost::io::ios_width_saver"* %this, %"class.std::ios_base"* %s) unnamed_addr align 2 {
entry:
  %this.addr = alloca %"class.boost::io::ios_width_saver"*, align 4
  %s.addr = alloca %"class.std::ios_base"*, align 4
  store %"class.boost::io::ios_width_saver"* %this, %"class.boost::io::ios_width_saver"** %this.addr, align 4
  store %"class.std::ios_base"* %s, %"class.std::ios_base"** %s.addr, align 4
  %this1 = load %"class.boost::io::ios_width_saver"** %this.addr
  %0 = load %"class.std::ios_base"** %s.addr
  call void @_ZN5boost2io15ios_width_saverC2ERSt8ios_base(%"class.boost::io::ios_width_saver"* %this1, %"class.std::ios_base"* %0)
  ret void
}

declare %"class.std::basic_ostream"* @_ZStlsIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_St5_Setw(%"class.std::basic_ostream"*, %"struct.std::_Setw"* byval align 4)

define linkonce_odr void @_ZSt4setwi(%"struct.std::_Setw"* noalias sret %agg.result, i32 %__n) nounwind inlinehint {
entry:
  %__n.addr = alloca i32, align 4
  store i32 %__n, i32* %__n.addr, align 4
  %_M_n = getelementptr inbounds %"struct.std::_Setw"* %agg.result, i32 0, i32 0
  %0 = load i32* %__n.addr, align 4
  store i32 %0, i32* %_M_n, align 4
  ret void
}

define linkonce_odr void @_ZN5boost2io15ios_width_saverD1Ev(%"class.boost::io::ios_width_saver"* %this) unnamed_addr align 2 {
entry:
  %this.addr = alloca %"class.boost::io::ios_width_saver"*, align 4
  store %"class.boost::io::ios_width_saver"* %this, %"class.boost::io::ios_width_saver"** %this.addr, align 4
  %this1 = load %"class.boost::io::ios_width_saver"** %this.addr
  call void @_ZN5boost2io15ios_width_saverD2Ev(%"class.boost::io::ios_width_saver"* %this1)
  ret void
}

define linkonce_odr void @_ZN5boost2io15ios_width_saverC1ERSt8ios_baseRKi(%"class.boost::io::ios_width_saver"* %this, %"class.std::ios_base"* %s, i32* %a) unnamed_addr align 2 {
entry:
  %this.addr = alloca %"class.boost::io::ios_width_saver"*, align 4
  %s.addr = alloca %"class.std::ios_base"*, align 4
  %a.addr = alloca i32*, align 4
  store %"class.boost::io::ios_width_saver"* %this, %"class.boost::io::ios_width_saver"** %this.addr, align 4
  store %"class.std::ios_base"* %s, %"class.std::ios_base"** %s.addr, align 4
  store i32* %a, i32** %a.addr, align 4
  %this1 = load %"class.boost::io::ios_width_saver"** %this.addr
  %0 = load i32** %a.addr
  %1 = load %"class.std::ios_base"** %s.addr
  call void @_ZN5boost2io15ios_width_saverC2ERSt8ios_baseRKi(%"class.boost::io::ios_width_saver"* %this1, %"class.std::ios_base"* %1, i32* %0)
  ret void
}

define void @_Z27ios_iostate_saver_unit_testv() {
entry:
  %ss = alloca %"class.std::basic_stringstream", align 4
  %agg.tmp = alloca %"class.boost::unit_test::basic_cstring", align 4
  %exn.slot = alloca i8*
  %ehselector.slot = alloca i32
  %agg.tmp1 = alloca %"class.boost::unit_test::basic_cstring", align 4
  %agg.tmp4 = alloca %"struct.boost::test_tools::tt_detail::equal_impl_frwd", align 1
  %ref.tmp = alloca %"class.boost::unit_test::lazy_ostream_impl", align 4
  %agg.tmp8 = alloca %"class.boost::unit_test::basic_cstring", align 4
  %ref.tmp13 = alloca i32, align 4
  %agg.tmp19 = alloca %"class.boost::unit_test::basic_cstring", align 4
  %agg.tmp21 = alloca %"class.boost::unit_test::basic_cstring", align 4
  %ref.tmp24 = alloca %"class.boost::test_tools::predicate_result", align 4
  %ref.tmp32 = alloca %"class.boost::unit_test::lazy_ostream_impl.0", align 4
  %ref.tmp36 = alloca %"class.boost::unit_test::basic_cstring", align 4
  %agg.tmp39 = alloca %"class.boost::unit_test::basic_cstring", align 4
  %iis = alloca %"class.boost::io::basic_ios_iostate_saver", align 4
  %c = alloca i8, align 1
  %agg.tmp57 = alloca %"class.boost::unit_test::basic_cstring", align 4
  %agg.tmp60 = alloca %"class.boost::unit_test::basic_cstring", align 4
  %agg.tmp63 = alloca %"struct.boost::test_tools::tt_detail::equal_impl_frwd", align 1
  %ref.tmp64 = alloca %"class.boost::unit_test::lazy_ostream_impl", align 4
  %agg.tmp68 = alloca %"class.boost::unit_test::basic_cstring", align 4
  %ref.tmp77 = alloca i32, align 4
  %agg.tmp87 = alloca %"class.boost::unit_test::basic_cstring", align 4
  %agg.tmp89 = alloca %"class.boost::unit_test::basic_cstring", align 4
  %ref.tmp92 = alloca %"class.boost::test_tools::predicate_result", align 4
  %ref.tmp100 = alloca %"class.boost::unit_test::lazy_ostream_impl.0", align 4
  %ref.tmp104 = alloca %"class.boost::unit_test::basic_cstring", align 4
  %agg.tmp107 = alloca %"class.boost::unit_test::basic_cstring", align 4
  %agg.tmp124 = alloca %"class.boost::unit_test::basic_cstring", align 4
  %agg.tmp126 = alloca %"class.boost::unit_test::basic_cstring", align 4
  %agg.tmp129 = alloca %"struct.boost::test_tools::tt_detail::equal_impl_frwd", align 1
  %ref.tmp130 = alloca %"class.boost::unit_test::lazy_ostream_impl", align 4
  %agg.tmp134 = alloca %"class.boost::unit_test::basic_cstring", align 4
  %ref.tmp139 = alloca i32, align 4
  %ref.tmp146 = alloca i32, align 4
  %agg.tmp156 = alloca %"class.boost::unit_test::basic_cstring", align 4
  %agg.tmp158 = alloca %"class.boost::unit_test::basic_cstring", align 4
  %ref.tmp161 = alloca %"class.boost::test_tools::predicate_result", align 4
  %ref.tmp169 = alloca %"class.boost::unit_test::lazy_ostream_impl.0", align 4
  %ref.tmp173 = alloca %"class.boost::unit_test::basic_cstring", align 4
  %agg.tmp176 = alloca %"class.boost::unit_test::basic_cstring", align 4
  %agg.tmp191 = alloca %"class.boost::unit_test::basic_cstring", align 4
  %agg.tmp193 = alloca %"class.boost::unit_test::basic_cstring", align 4
  %ref.tmp196 = alloca %"class.boost::test_tools::predicate_result", align 4
  %ref.tmp204 = alloca %"class.boost::unit_test::lazy_ostream_impl.0", align 4
  %ref.tmp208 = alloca %"class.boost::unit_test::basic_cstring", align 4
  %agg.tmp211 = alloca %"class.boost::unit_test::basic_cstring", align 4
  %agg.tmp226 = alloca %"class.boost::unit_test::basic_cstring", align 4
  %agg.tmp228 = alloca %"class.boost::unit_test::basic_cstring", align 4
  %ref.tmp231 = alloca %"class.boost::test_tools::predicate_result", align 4
  %ref.tmp239 = alloca %"class.boost::unit_test::lazy_ostream_impl.0", align 4
  %ref.tmp243 = alloca %"class.boost::unit_test::basic_cstring", align 4
  %agg.tmp246 = alloca %"class.boost::unit_test::basic_cstring", align 4
  %agg.tmp264 = alloca %"class.boost::unit_test::basic_cstring", align 4
  %agg.tmp266 = alloca %"class.boost::unit_test::basic_cstring", align 4
  %agg.tmp269 = alloca %"struct.boost::test_tools::tt_detail::equal_impl_frwd", align 1
  %ref.tmp270 = alloca %"class.boost::unit_test::lazy_ostream_impl", align 4
  %agg.tmp274 = alloca %"class.boost::unit_test::basic_cstring", align 4
  %ref.tmp283 = alloca i32, align 4
  %agg.tmp293 = alloca %"class.boost::unit_test::basic_cstring", align 4
  %agg.tmp295 = alloca %"class.boost::unit_test::basic_cstring", align 4
  %ref.tmp298 = alloca %"class.boost::test_tools::predicate_result", align 4
  %ref.tmp306 = alloca %"class.boost::unit_test::lazy_ostream_impl.0", align 4
  %ref.tmp310 = alloca %"class.boost::unit_test::basic_cstring", align 4
  %agg.tmp313 = alloca %"class.boost::unit_test::basic_cstring", align 4
  %iis327 = alloca %"class.boost::io::basic_ios_iostate_saver", align 4
  %agg.tmp334 = alloca %"class.boost::unit_test::basic_cstring", align 4
  %agg.tmp337 = alloca %"class.boost::unit_test::basic_cstring", align 4
  %agg.tmp340 = alloca %"struct.boost::test_tools::tt_detail::equal_impl_frwd", align 1
  %ref.tmp341 = alloca %"class.boost::unit_test::lazy_ostream_impl", align 4
  %agg.tmp345 = alloca %"class.boost::unit_test::basic_cstring", align 4
  %ref.tmp354 = alloca i32, align 4
  %agg.tmp364 = alloca %"class.boost::unit_test::basic_cstring", align 4
  %agg.tmp366 = alloca %"class.boost::unit_test::basic_cstring", align 4
  %ref.tmp369 = alloca %"class.boost::test_tools::predicate_result", align 4
  %ref.tmp377 = alloca %"class.boost::unit_test::lazy_ostream_impl.0", align 4
  %ref.tmp381 = alloca %"class.boost::unit_test::basic_cstring", align 4
  %agg.tmp384 = alloca %"class.boost::unit_test::basic_cstring", align 4
  %agg.tmp404 = alloca %"class.boost::unit_test::basic_cstring", align 4
  %agg.tmp406 = alloca %"class.boost::unit_test::basic_cstring", align 4
  %agg.tmp409 = alloca %"struct.boost::test_tools::tt_detail::equal_impl_frwd", align 1
  %ref.tmp410 = alloca %"class.boost::unit_test::lazy_ostream_impl", align 4
  %agg.tmp414 = alloca %"class.boost::unit_test::basic_cstring", align 4
  %ref.tmp419 = alloca i32, align 4
  %ref.tmp426 = alloca i32, align 4
  %agg.tmp436 = alloca %"class.boost::unit_test::basic_cstring", align 4
  %agg.tmp438 = alloca %"class.boost::unit_test::basic_cstring", align 4
  %ref.tmp441 = alloca %"class.boost::test_tools::predicate_result", align 4
  %ref.tmp449 = alloca %"class.boost::unit_test::lazy_ostream_impl.0", align 4
  %ref.tmp453 = alloca %"class.boost::unit_test::basic_cstring", align 4
  %agg.tmp456 = alloca %"class.boost::unit_test::basic_cstring", align 4
  %agg.tmp471 = alloca %"class.boost::unit_test::basic_cstring", align 4
  %agg.tmp473 = alloca %"class.boost::unit_test::basic_cstring", align 4
  %ref.tmp476 = alloca %"class.boost::test_tools::predicate_result", align 4
  %ref.tmp484 = alloca %"class.boost::unit_test::lazy_ostream_impl.0", align 4
  %ref.tmp488 = alloca %"class.boost::unit_test::basic_cstring", align 4
  %agg.tmp491 = alloca %"class.boost::unit_test::basic_cstring", align 4
  %agg.tmp506 = alloca %"class.boost::unit_test::basic_cstring", align 4
  %agg.tmp508 = alloca %"class.boost::unit_test::basic_cstring", align 4
  %ref.tmp511 = alloca %"class.boost::test_tools::predicate_result", align 4
  %ref.tmp519 = alloca %"class.boost::unit_test::lazy_ostream_impl.0", align 4
  %ref.tmp523 = alloca %"class.boost::unit_test::basic_cstring", align 4
  %agg.tmp526 = alloca %"class.boost::unit_test::basic_cstring", align 4
  %agg.tmp544 = alloca %"class.boost::unit_test::basic_cstring", align 4
  %agg.tmp546 = alloca %"class.boost::unit_test::basic_cstring", align 4
  %agg.tmp549 = alloca %"struct.boost::test_tools::tt_detail::equal_impl_frwd", align 1
  %ref.tmp550 = alloca %"class.boost::unit_test::lazy_ostream_impl", align 4
  %agg.tmp554 = alloca %"class.boost::unit_test::basic_cstring", align 4
  %ref.tmp563 = alloca i32, align 4
  %agg.tmp573 = alloca %"class.boost::unit_test::basic_cstring", align 4
  %agg.tmp575 = alloca %"class.boost::unit_test::basic_cstring", align 4
  %ref.tmp578 = alloca %"class.boost::test_tools::predicate_result", align 4
  %ref.tmp586 = alloca %"class.boost::unit_test::lazy_ostream_impl.0", align 4
  %ref.tmp590 = alloca %"class.boost::unit_test::basic_cstring", align 4
  %agg.tmp593 = alloca %"class.boost::unit_test::basic_cstring", align 4
  %call = call i32 @_ZStorSt13_Ios_OpenmodeS_(i32 16, i32 8)
  call void @_ZNSt18basic_stringstreamIcSt11char_traitsIcESaIcEEC1ESt13_Ios_Openmode(%"class.std::basic_stringstream"* %ss, i32 %call)
  br label %do.body

do.body:                                          ; preds = %do.cond, %entry
  %0 = load %"class.boost::unit_test::unit_test_log_t"** @_ZN5boost9unit_test12_GLOBAL__N_113unit_test_logE, align 4
  invoke void @_ZN5boost9unit_test13basic_cstringIKcEC1EPS2_j(%"class.boost::unit_test::basic_cstring"* %agg.tmp, i8* getelementptr inbounds ([24 x i8]* @.str, i32 0, i32 0), i32 23)
          to label %invoke.cont unwind label %lpad

invoke.cont:                                      ; preds = %do.body
  invoke void @_ZN5boost9unit_test13basic_cstringIKcEC1Ev(%"class.boost::unit_test::basic_cstring"* %agg.tmp1)
          to label %invoke.cont2 unwind label %lpad

invoke.cont2:                                     ; preds = %invoke.cont
  invoke void @_ZN5boost9unit_test15unit_test_log_t14set_checkpointENS0_13basic_cstringIKcEEjS4_(%"class.boost::unit_test::unit_test_log_t"* %0, %"class.boost::unit_test::basic_cstring"* byval align 4 %agg.tmp, i32 168, %"class.boost::unit_test::basic_cstring"* byval align 4 %agg.tmp1)
          to label %invoke.cont3 unwind label %lpad

invoke.cont3:                                     ; preds = %invoke.cont2
  %call6 = invoke %"class.boost::unit_test::lazy_ostream"* @_ZN5boost9unit_test12lazy_ostream8instanceEv()
          to label %invoke.cont5 unwind label %lpad

invoke.cont5:                                     ; preds = %invoke.cont3
  invoke void @_ZN5boost9unit_testlsIA1_cEENS0_17lazy_ostream_implIRKT_EERKNS0_12lazy_ostreamES6_(%"class.boost::unit_test::lazy_ostream_impl"* sret %ref.tmp, %"class.boost::unit_test::lazy_ostream"* %call6, [1 x i8]* @.str3)
          to label %invoke.cont7 unwind label %lpad

invoke.cont7:                                     ; preds = %invoke.cont5
  %1 = bitcast %"class.boost::unit_test::lazy_ostream_impl"* %ref.tmp to %"class.boost::unit_test::lazy_ostream"*
  invoke void @_ZN5boost9unit_test13basic_cstringIKcEC1EPS2_j(%"class.boost::unit_test::basic_cstring"* %agg.tmp8, i8* getelementptr inbounds ([24 x i8]* @.str, i32 0, i32 0), i32 23)
          to label %invoke.cont10 unwind label %lpad9

invoke.cont10:                                    ; preds = %invoke.cont7
  %2 = bitcast %"class.std::basic_stringstream"* %ss to i8**
  %vtable = load i8** %2
  %vbase.offset.ptr = getelementptr i8* %vtable, i64 -12
  %3 = bitcast i8* %vbase.offset.ptr to i32*
  %vbase.offset = load i32* %3
  %4 = bitcast %"class.std::basic_stringstream"* %ss to i8*
  %add.ptr = getelementptr inbounds i8* %4, i32 %vbase.offset
  %5 = bitcast i8* %add.ptr to %"class.std::basic_ios"*
  %call12 = invoke i32 @_ZNKSt9basic_iosIcSt11char_traitsIcEE7rdstateEv(%"class.std::basic_ios"* %5)
          to label %invoke.cont11 unwind label %lpad9

invoke.cont11:                                    ; preds = %invoke.cont10
  store i32 %call12, i32* %ref.tmp13, align 4
  %call15 = invoke zeroext i1 @_ZN5boost10test_tools9tt_detail10check_frwdINS1_15equal_impl_frwdESt12_Ios_IostateS4_EEbT_RKNS_9unit_test12lazy_ostreamENS6_13basic_cstringIKcEEjNS1_10tool_levelENS1_10check_typeERKT0_PSB_RKT1_SI_(%"class.boost::unit_test::lazy_ostream"* %1, %"class.boost::unit_test::basic_cstring"* byval align 4 %agg.tmp8, i32 168, i32 1, i32 2, i32* @_ZNSt8ios_base7goodbitE, i8* getelementptr inbounds ([18 x i8]* @.str16, i32 0, i32 0), i32* %ref.tmp13, i8* getelementptr inbounds ([13 x i8]* @.str17, i32 0, i32 0))
          to label %invoke.cont14 unwind label %lpad9

invoke.cont14:                                    ; preds = %invoke.cont11
  invoke void @_ZN5boost9unit_test17lazy_ostream_implIRA1_KcED1Ev(%"class.boost::unit_test::lazy_ostream_impl"* %ref.tmp)
          to label %invoke.cont16 unwind label %lpad

invoke.cont16:                                    ; preds = %invoke.cont14
  br label %do.cond

do.cond:                                          ; preds = %invoke.cont16
  %6 = load i8* @_ZN5boost10test_tools12_GLOBAL__N_110dummy_condE, align 1
  %tobool = trunc i8 %6 to i1
  br i1 %tobool, label %do.body, label %do.end

do.end:                                           ; preds = %do.cond
  br label %do.body18

do.body18:                                        ; preds = %do.cond48, %do.end
  %7 = load %"class.boost::unit_test::unit_test_log_t"** @_ZN5boost9unit_test12_GLOBAL__N_113unit_test_logE, align 4
  invoke void @_ZN5boost9unit_test13basic_cstringIKcEC1EPS2_j(%"class.boost::unit_test::basic_cstring"* %agg.tmp19, i8* getelementptr inbounds ([24 x i8]* @.str, i32 0, i32 0), i32 23)
          to label %invoke.cont20 unwind label %lpad

invoke.cont20:                                    ; preds = %do.body18
  invoke void @_ZN5boost9unit_test13basic_cstringIKcEC1Ev(%"class.boost::unit_test::basic_cstring"* %agg.tmp21)
          to label %invoke.cont22 unwind label %lpad

invoke.cont22:                                    ; preds = %invoke.cont20
  invoke void @_ZN5boost9unit_test15unit_test_log_t14set_checkpointENS0_13basic_cstringIKcEEjS4_(%"class.boost::unit_test::unit_test_log_t"* %7, %"class.boost::unit_test::basic_cstring"* byval align 4 %agg.tmp19, i32 169, %"class.boost::unit_test::basic_cstring"* byval align 4 %agg.tmp21)
          to label %invoke.cont23 unwind label %lpad

invoke.cont23:                                    ; preds = %invoke.cont22
  %8 = bitcast %"class.std::basic_stringstream"* %ss to i8**
  %vtable25 = load i8** %8
  %vbase.offset.ptr26 = getelementptr i8* %vtable25, i64 -12
  %9 = bitcast i8* %vbase.offset.ptr26 to i32*
  %vbase.offset27 = load i32* %9
  %10 = bitcast %"class.std::basic_stringstream"* %ss to i8*
  %add.ptr28 = getelementptr inbounds i8* %10, i32 %vbase.offset27
  %11 = bitcast i8* %add.ptr28 to %"class.std::basic_ios"*
  %call30 = invoke zeroext i1 @_ZNKSt9basic_iosIcSt11char_traitsIcEE4goodEv(%"class.std::basic_ios"* %11)
          to label %invoke.cont29 unwind label %lpad

invoke.cont29:                                    ; preds = %invoke.cont23
  invoke void @_ZN5boost10test_tools16predicate_resultC1Eb(%"class.boost::test_tools::predicate_result"* %ref.tmp24, i1 zeroext %call30)
          to label %invoke.cont31 unwind label %lpad

invoke.cont31:                                    ; preds = %invoke.cont29
  %call35 = invoke %"class.boost::unit_test::lazy_ostream"* @_ZN5boost9unit_test12lazy_ostream8instanceEv()
          to label %invoke.cont34 unwind label %lpad33

invoke.cont34:                                    ; preds = %invoke.cont31
  invoke void @_ZN5boost9unit_test13basic_cstringIKcEC1EPS2_j(%"class.boost::unit_test::basic_cstring"* %ref.tmp36, i8* getelementptr inbounds ([10 x i8]* @.str18, i32 0, i32 0), i32 9)
          to label %invoke.cont37 unwind label %lpad33

invoke.cont37:                                    ; preds = %invoke.cont34
  invoke void @_ZN5boost9unit_testlsINS0_13basic_cstringIKcEEEENS0_17lazy_ostream_implIRKT_EERKNS0_12lazy_ostreamES8_(%"class.boost::unit_test::lazy_ostream_impl.0"* sret %ref.tmp32, %"class.boost::unit_test::lazy_ostream"* %call35, %"class.boost::unit_test::basic_cstring"* %ref.tmp36)
          to label %invoke.cont38 unwind label %lpad33

invoke.cont38:                                    ; preds = %invoke.cont37
  %12 = bitcast %"class.boost::unit_test::lazy_ostream_impl.0"* %ref.tmp32 to %"class.boost::unit_test::lazy_ostream"*
  invoke void @_ZN5boost9unit_test13basic_cstringIKcEC1EPS2_j(%"class.boost::unit_test::basic_cstring"* %agg.tmp39, i8* getelementptr inbounds ([24 x i8]* @.str, i32 0, i32 0), i32 23)
          to label %invoke.cont41 unwind label %lpad40

invoke.cont41:                                    ; preds = %invoke.cont38
  %call43 = invoke zeroext i1 (%"class.boost::test_tools::predicate_result"*, %"class.boost::unit_test::lazy_ostream"*, %"class.boost::unit_test::basic_cstring"*, i32, i32, i32, i32, ...)* @_ZN5boost10test_tools9tt_detail10check_implERKNS0_16predicate_resultERKNS_9unit_test12lazy_ostreamENS5_13basic_cstringIKcEEjNS1_10tool_levelENS1_10check_typeEjz(%"class.boost::test_tools::predicate_result"* %ref.tmp24, %"class.boost::unit_test::lazy_ostream"* %12, %"class.boost::unit_test::basic_cstring"* byval align 4 %agg.tmp39, i32 169, i32 1, i32 0, i32 0)
          to label %invoke.cont42 unwind label %lpad40

invoke.cont42:                                    ; preds = %invoke.cont41
  invoke void @_ZN5boost9unit_test17lazy_ostream_implIRKNS0_13basic_cstringIKcEEED1Ev(%"class.boost::unit_test::lazy_ostream_impl.0"* %ref.tmp32)
          to label %invoke.cont44 unwind label %lpad33

invoke.cont44:                                    ; preds = %invoke.cont42
  invoke void @_ZN5boost10test_tools16predicate_resultD1Ev(%"class.boost::test_tools::predicate_result"* %ref.tmp24)
          to label %invoke.cont46 unwind label %lpad

invoke.cont46:                                    ; preds = %invoke.cont44
  br label %do.cond48

do.cond48:                                        ; preds = %invoke.cont46
  %13 = load i8* @_ZN5boost10test_tools12_GLOBAL__N_110dummy_condE, align 1
  %tobool49 = trunc i8 %13 to i1
  br i1 %tobool49, label %do.body18, label %do.end50

do.end50:                                         ; preds = %do.cond48
  %14 = bitcast %"class.std::basic_stringstream"* %ss to i8**
  %vtable51 = load i8** %14
  %vbase.offset.ptr52 = getelementptr i8* %vtable51, i64 -12
  %15 = bitcast i8* %vbase.offset.ptr52 to i32*
  %vbase.offset53 = load i32* %15
  %16 = bitcast %"class.std::basic_stringstream"* %ss to i8*
  %add.ptr54 = getelementptr inbounds i8* %16, i32 %vbase.offset53
  %17 = bitcast i8* %add.ptr54 to %"class.std::basic_ios"*
  invoke void @_ZN5boost2io23basic_ios_iostate_saverIcSt11char_traitsIcEEC1ERSt9basic_iosIcS3_E(%"class.boost::io::basic_ios_iostate_saver"* %iis, %"class.std::basic_ios"* %17)
          to label %invoke.cont55 unwind label %lpad

invoke.cont55:                                    ; preds = %do.end50
  br label %do.body56

do.body56:                                        ; preds = %do.cond83, %invoke.cont55
  %18 = load %"class.boost::unit_test::unit_test_log_t"** @_ZN5boost9unit_test12_GLOBAL__N_113unit_test_logE, align 4
  invoke void @_ZN5boost9unit_test13basic_cstringIKcEC1EPS2_j(%"class.boost::unit_test::basic_cstring"* %agg.tmp57, i8* getelementptr inbounds ([24 x i8]* @.str, i32 0, i32 0), i32 23)
          to label %invoke.cont59 unwind label %lpad58

invoke.cont59:                                    ; preds = %do.body56
  invoke void @_ZN5boost9unit_test13basic_cstringIKcEC1Ev(%"class.boost::unit_test::basic_cstring"* %agg.tmp60)
          to label %invoke.cont61 unwind label %lpad58

invoke.cont61:                                    ; preds = %invoke.cont59
  invoke void @_ZN5boost9unit_test15unit_test_log_t14set_checkpointENS0_13basic_cstringIKcEEjS4_(%"class.boost::unit_test::unit_test_log_t"* %18, %"class.boost::unit_test::basic_cstring"* byval align 4 %agg.tmp57, i32 175, %"class.boost::unit_test::basic_cstring"* byval align 4 %agg.tmp60)
          to label %invoke.cont62 unwind label %lpad58

invoke.cont62:                                    ; preds = %invoke.cont61
  %call66 = invoke %"class.boost::unit_test::lazy_ostream"* @_ZN5boost9unit_test12lazy_ostream8instanceEv()
          to label %invoke.cont65 unwind label %lpad58

invoke.cont65:                                    ; preds = %invoke.cont62
  invoke void @_ZN5boost9unit_testlsIA1_cEENS0_17lazy_ostream_implIRKT_EERKNS0_12lazy_ostreamES6_(%"class.boost::unit_test::lazy_ostream_impl"* sret %ref.tmp64, %"class.boost::unit_test::lazy_ostream"* %call66, [1 x i8]* @.str3)
          to label %invoke.cont67 unwind label %lpad58

invoke.cont67:                                    ; preds = %invoke.cont65
  %19 = bitcast %"class.boost::unit_test::lazy_ostream_impl"* %ref.tmp64 to %"class.boost::unit_test::lazy_ostream"*
  invoke void @_ZN5boost9unit_test13basic_cstringIKcEC1EPS2_j(%"class.boost::unit_test::basic_cstring"* %agg.tmp68, i8* getelementptr inbounds ([24 x i8]* @.str, i32 0, i32 0), i32 23)
          to label %invoke.cont70 unwind label %lpad69

invoke.cont70:                                    ; preds = %invoke.cont67
  %20 = bitcast %"class.std::basic_stringstream"* %ss to i8**
  %vtable71 = load i8** %20
  %vbase.offset.ptr72 = getelementptr i8* %vtable71, i64 -12
  %21 = bitcast i8* %vbase.offset.ptr72 to i32*
  %vbase.offset73 = load i32* %21
  %22 = bitcast %"class.std::basic_stringstream"* %ss to i8*
  %add.ptr74 = getelementptr inbounds i8* %22, i32 %vbase.offset73
  %23 = bitcast i8* %add.ptr74 to %"class.std::basic_ios"*
  %call76 = invoke i32 @_ZNKSt9basic_iosIcSt11char_traitsIcEE7rdstateEv(%"class.std::basic_ios"* %23)
          to label %invoke.cont75 unwind label %lpad69

invoke.cont75:                                    ; preds = %invoke.cont70
  store i32 %call76, i32* %ref.tmp77, align 4
  %call79 = invoke zeroext i1 @_ZN5boost10test_tools9tt_detail10check_frwdINS1_15equal_impl_frwdESt12_Ios_IostateS4_EEbT_RKNS_9unit_test12lazy_ostreamENS6_13basic_cstringIKcEEjNS1_10tool_levelENS1_10check_typeERKT0_PSB_RKT1_SI_(%"class.boost::unit_test::lazy_ostream"* %19, %"class.boost::unit_test::basic_cstring"* byval align 4 %agg.tmp68, i32 175, i32 1, i32 2, i32* @_ZNSt8ios_base7goodbitE, i8* getelementptr inbounds ([18 x i8]* @.str16, i32 0, i32 0), i32* %ref.tmp77, i8* getelementptr inbounds ([13 x i8]* @.str17, i32 0, i32 0))
          to label %invoke.cont78 unwind label %lpad69

invoke.cont78:                                    ; preds = %invoke.cont75
  invoke void @_ZN5boost9unit_test17lazy_ostream_implIRA1_KcED1Ev(%"class.boost::unit_test::lazy_ostream_impl"* %ref.tmp64)
          to label %invoke.cont80 unwind label %lpad58

invoke.cont80:                                    ; preds = %invoke.cont78
  br label %do.cond83

do.cond83:                                        ; preds = %invoke.cont80
  %24 = load i8* @_ZN5boost10test_tools12_GLOBAL__N_110dummy_condE, align 1
  %tobool84 = trunc i8 %24 to i1
  br i1 %tobool84, label %do.body56, label %do.end85

do.end85:                                         ; preds = %do.cond83
  br label %do.body86

do.body86:                                        ; preds = %do.cond118, %do.end85
  %25 = load %"class.boost::unit_test::unit_test_log_t"** @_ZN5boost9unit_test12_GLOBAL__N_113unit_test_logE, align 4
  invoke void @_ZN5boost9unit_test13basic_cstringIKcEC1EPS2_j(%"class.boost::unit_test::basic_cstring"* %agg.tmp87, i8* getelementptr inbounds ([24 x i8]* @.str, i32 0, i32 0), i32 23)
          to label %invoke.cont88 unwind label %lpad58

invoke.cont88:                                    ; preds = %do.body86
  invoke void @_ZN5boost9unit_test13basic_cstringIKcEC1Ev(%"class.boost::unit_test::basic_cstring"* %agg.tmp89)
          to label %invoke.cont90 unwind label %lpad58

invoke.cont90:                                    ; preds = %invoke.cont88
  invoke void @_ZN5boost9unit_test15unit_test_log_t14set_checkpointENS0_13basic_cstringIKcEEjS4_(%"class.boost::unit_test::unit_test_log_t"* %25, %"class.boost::unit_test::basic_cstring"* byval align 4 %agg.tmp87, i32 176, %"class.boost::unit_test::basic_cstring"* byval align 4 %agg.tmp89)
          to label %invoke.cont91 unwind label %lpad58

invoke.cont91:                                    ; preds = %invoke.cont90
  %26 = bitcast %"class.std::basic_stringstream"* %ss to i8**
  %vtable93 = load i8** %26
  %vbase.offset.ptr94 = getelementptr i8* %vtable93, i64 -12
  %27 = bitcast i8* %vbase.offset.ptr94 to i32*
  %vbase.offset95 = load i32* %27
  %28 = bitcast %"class.std::basic_stringstream"* %ss to i8*
  %add.ptr96 = getelementptr inbounds i8* %28, i32 %vbase.offset95
  %29 = bitcast i8* %add.ptr96 to %"class.std::basic_ios"*
  %call98 = invoke zeroext i1 @_ZNKSt9basic_iosIcSt11char_traitsIcEE4goodEv(%"class.std::basic_ios"* %29)
          to label %invoke.cont97 unwind label %lpad58

invoke.cont97:                                    ; preds = %invoke.cont91
  invoke void @_ZN5boost10test_tools16predicate_resultC1Eb(%"class.boost::test_tools::predicate_result"* %ref.tmp92, i1 zeroext %call98)
          to label %invoke.cont99 unwind label %lpad58

invoke.cont99:                                    ; preds = %invoke.cont97
  %call103 = invoke %"class.boost::unit_test::lazy_ostream"* @_ZN5boost9unit_test12lazy_ostream8instanceEv()
          to label %invoke.cont102 unwind label %lpad101

invoke.cont102:                                   ; preds = %invoke.cont99
  invoke void @_ZN5boost9unit_test13basic_cstringIKcEC1EPS2_j(%"class.boost::unit_test::basic_cstring"* %ref.tmp104, i8* getelementptr inbounds ([10 x i8]* @.str18, i32 0, i32 0), i32 9)
          to label %invoke.cont105 unwind label %lpad101

invoke.cont105:                                   ; preds = %invoke.cont102
  invoke void @_ZN5boost9unit_testlsINS0_13basic_cstringIKcEEEENS0_17lazy_ostream_implIRKT_EERKNS0_12lazy_ostreamES8_(%"class.boost::unit_test::lazy_ostream_impl.0"* sret %ref.tmp100, %"class.boost::unit_test::lazy_ostream"* %call103, %"class.boost::unit_test::basic_cstring"* %ref.tmp104)
          to label %invoke.cont106 unwind label %lpad101

invoke.cont106:                                   ; preds = %invoke.cont105
  %30 = bitcast %"class.boost::unit_test::lazy_ostream_impl.0"* %ref.tmp100 to %"class.boost::unit_test::lazy_ostream"*
  invoke void @_ZN5boost9unit_test13basic_cstringIKcEC1EPS2_j(%"class.boost::unit_test::basic_cstring"* %agg.tmp107, i8* getelementptr inbounds ([24 x i8]* @.str, i32 0, i32 0), i32 23)
          to label %invoke.cont109 unwind label %lpad108

invoke.cont109:                                   ; preds = %invoke.cont106
  %call111 = invoke zeroext i1 (%"class.boost::test_tools::predicate_result"*, %"class.boost::unit_test::lazy_ostream"*, %"class.boost::unit_test::basic_cstring"*, i32, i32, i32, i32, ...)* @_ZN5boost10test_tools9tt_detail10check_implERKNS0_16predicate_resultERKNS_9unit_test12lazy_ostreamENS5_13basic_cstringIKcEEjNS1_10tool_levelENS1_10check_typeEjz(%"class.boost::test_tools::predicate_result"* %ref.tmp92, %"class.boost::unit_test::lazy_ostream"* %30, %"class.boost::unit_test::basic_cstring"* byval align 4 %agg.tmp107, i32 176, i32 1, i32 0, i32 0)
          to label %invoke.cont110 unwind label %lpad108

invoke.cont110:                                   ; preds = %invoke.cont109
  invoke void @_ZN5boost9unit_test17lazy_ostream_implIRKNS0_13basic_cstringIKcEEED1Ev(%"class.boost::unit_test::lazy_ostream_impl.0"* %ref.tmp100)
          to label %invoke.cont112 unwind label %lpad101

invoke.cont112:                                   ; preds = %invoke.cont110
  invoke void @_ZN5boost10test_tools16predicate_resultD1Ev(%"class.boost::test_tools::predicate_result"* %ref.tmp92)
          to label %invoke.cont115 unwind label %lpad58

invoke.cont115:                                   ; preds = %invoke.cont112
  br label %do.cond118

do.cond118:                                       ; preds = %invoke.cont115
  %31 = load i8* @_ZN5boost10test_tools12_GLOBAL__N_110dummy_condE, align 1
  %tobool119 = trunc i8 %31 to i1
  br i1 %tobool119, label %do.body86, label %do.end120

do.end120:                                        ; preds = %do.cond118
  %32 = bitcast %"class.std::basic_stringstream"* %ss to %"class.std::basic_istream"*
  %call122 = invoke %"class.std::basic_istream"* @_ZStrsIcSt11char_traitsIcEERSt13basic_istreamIT_T0_ES6_RS3_(%"class.std::basic_istream"* %32, i8* %c)
          to label %invoke.cont121 unwind label %lpad58

invoke.cont121:                                   ; preds = %do.end120
  br label %do.body123

do.body123:                                       ; preds = %do.cond152, %invoke.cont121
  %33 = load %"class.boost::unit_test::unit_test_log_t"** @_ZN5boost9unit_test12_GLOBAL__N_113unit_test_logE, align 4
  invoke void @_ZN5boost9unit_test13basic_cstringIKcEC1EPS2_j(%"class.boost::unit_test::basic_cstring"* %agg.tmp124, i8* getelementptr inbounds ([24 x i8]* @.str, i32 0, i32 0), i32 23)
          to label %invoke.cont125 unwind label %lpad58

invoke.cont125:                                   ; preds = %do.body123
  invoke void @_ZN5boost9unit_test13basic_cstringIKcEC1Ev(%"class.boost::unit_test::basic_cstring"* %agg.tmp126)
          to label %invoke.cont127 unwind label %lpad58

invoke.cont127:                                   ; preds = %invoke.cont125
  invoke void @_ZN5boost9unit_test15unit_test_log_t14set_checkpointENS0_13basic_cstringIKcEEjS4_(%"class.boost::unit_test::unit_test_log_t"* %33, %"class.boost::unit_test::basic_cstring"* byval align 4 %agg.tmp124, i32 180, %"class.boost::unit_test::basic_cstring"* byval align 4 %agg.tmp126)
          to label %invoke.cont128 unwind label %lpad58

invoke.cont128:                                   ; preds = %invoke.cont127
  %call132 = invoke %"class.boost::unit_test::lazy_ostream"* @_ZN5boost9unit_test12lazy_ostream8instanceEv()
          to label %invoke.cont131 unwind label %lpad58

invoke.cont131:                                   ; preds = %invoke.cont128
  invoke void @_ZN5boost9unit_testlsIA1_cEENS0_17lazy_ostream_implIRKT_EERKNS0_12lazy_ostreamES6_(%"class.boost::unit_test::lazy_ostream_impl"* sret %ref.tmp130, %"class.boost::unit_test::lazy_ostream"* %call132, [1 x i8]* @.str3)
          to label %invoke.cont133 unwind label %lpad58

invoke.cont133:                                   ; preds = %invoke.cont131
  %34 = bitcast %"class.boost::unit_test::lazy_ostream_impl"* %ref.tmp130 to %"class.boost::unit_test::lazy_ostream"*
  invoke void @_ZN5boost9unit_test13basic_cstringIKcEC1EPS2_j(%"class.boost::unit_test::basic_cstring"* %agg.tmp134, i8* getelementptr inbounds ([24 x i8]* @.str, i32 0, i32 0), i32 23)
          to label %invoke.cont136 unwind label %lpad135

invoke.cont136:                                   ; preds = %invoke.cont133
  %call138 = invoke i32 @_ZStorSt12_Ios_IostateS_(i32 2, i32 4)
          to label %invoke.cont137 unwind label %lpad135

invoke.cont137:                                   ; preds = %invoke.cont136
  store i32 %call138, i32* %ref.tmp139, align 4
  %35 = bitcast %"class.std::basic_stringstream"* %ss to i8**
  %vtable140 = load i8** %35
  %vbase.offset.ptr141 = getelementptr i8* %vtable140, i64 -12
  %36 = bitcast i8* %vbase.offset.ptr141 to i32*
  %vbase.offset142 = load i32* %36
  %37 = bitcast %"class.std::basic_stringstream"* %ss to i8*
  %add.ptr143 = getelementptr inbounds i8* %37, i32 %vbase.offset142
  %38 = bitcast i8* %add.ptr143 to %"class.std::basic_ios"*
  %call145 = invoke i32 @_ZNKSt9basic_iosIcSt11char_traitsIcEE7rdstateEv(%"class.std::basic_ios"* %38)
          to label %invoke.cont144 unwind label %lpad135

invoke.cont144:                                   ; preds = %invoke.cont137
  store i32 %call145, i32* %ref.tmp146, align 4
  %call148 = invoke zeroext i1 @_ZN5boost10test_tools9tt_detail10check_frwdINS1_15equal_impl_frwdESt12_Ios_IostateS4_EEbT_RKNS_9unit_test12lazy_ostreamENS6_13basic_cstringIKcEEjNS1_10tool_levelENS1_10check_typeERKT0_PSB_RKT1_SI_(%"class.boost::unit_test::lazy_ostream"* %34, %"class.boost::unit_test::basic_cstring"* byval align 4 %agg.tmp134, i32 180, i32 1, i32 2, i32* %ref.tmp139, i8* getelementptr inbounds ([39 x i8]* @.str19, i32 0, i32 0), i32* %ref.tmp146, i8* getelementptr inbounds ([13 x i8]* @.str17, i32 0, i32 0))
          to label %invoke.cont147 unwind label %lpad135

invoke.cont147:                                   ; preds = %invoke.cont144
  invoke void @_ZN5boost9unit_test17lazy_ostream_implIRA1_KcED1Ev(%"class.boost::unit_test::lazy_ostream_impl"* %ref.tmp130)
          to label %invoke.cont149 unwind label %lpad58

invoke.cont149:                                   ; preds = %invoke.cont147
  br label %do.cond152

do.cond152:                                       ; preds = %invoke.cont149
  %39 = load i8* @_ZN5boost10test_tools12_GLOBAL__N_110dummy_condE, align 1
  %tobool153 = trunc i8 %39 to i1
  br i1 %tobool153, label %do.body123, label %do.end154

do.end154:                                        ; preds = %do.cond152
  br label %do.body155

do.body155:                                       ; preds = %do.cond187, %do.end154
  %40 = load %"class.boost::unit_test::unit_test_log_t"** @_ZN5boost9unit_test12_GLOBAL__N_113unit_test_logE, align 4
  invoke void @_ZN5boost9unit_test13basic_cstringIKcEC1EPS2_j(%"class.boost::unit_test::basic_cstring"* %agg.tmp156, i8* getelementptr inbounds ([24 x i8]* @.str, i32 0, i32 0), i32 23)
          to label %invoke.cont157 unwind label %lpad58

invoke.cont157:                                   ; preds = %do.body155
  invoke void @_ZN5boost9unit_test13basic_cstringIKcEC1Ev(%"class.boost::unit_test::basic_cstring"* %agg.tmp158)
          to label %invoke.cont159 unwind label %lpad58

invoke.cont159:                                   ; preds = %invoke.cont157
  invoke void @_ZN5boost9unit_test15unit_test_log_t14set_checkpointENS0_13basic_cstringIKcEEjS4_(%"class.boost::unit_test::unit_test_log_t"* %40, %"class.boost::unit_test::basic_cstring"* byval align 4 %agg.tmp156, i32 181, %"class.boost::unit_test::basic_cstring"* byval align 4 %agg.tmp158)
          to label %invoke.cont160 unwind label %lpad58

invoke.cont160:                                   ; preds = %invoke.cont159
  %41 = bitcast %"class.std::basic_stringstream"* %ss to i8**
  %vtable162 = load i8** %41
  %vbase.offset.ptr163 = getelementptr i8* %vtable162, i64 -12
  %42 = bitcast i8* %vbase.offset.ptr163 to i32*
  %vbase.offset164 = load i32* %42
  %43 = bitcast %"class.std::basic_stringstream"* %ss to i8*
  %add.ptr165 = getelementptr inbounds i8* %43, i32 %vbase.offset164
  %44 = bitcast i8* %add.ptr165 to %"class.std::basic_ios"*
  %call167 = invoke zeroext i1 @_ZNKSt9basic_iosIcSt11char_traitsIcEE3eofEv(%"class.std::basic_ios"* %44)
          to label %invoke.cont166 unwind label %lpad58

invoke.cont166:                                   ; preds = %invoke.cont160
  invoke void @_ZN5boost10test_tools16predicate_resultC1Eb(%"class.boost::test_tools::predicate_result"* %ref.tmp161, i1 zeroext %call167)
          to label %invoke.cont168 unwind label %lpad58

invoke.cont168:                                   ; preds = %invoke.cont166
  %call172 = invoke %"class.boost::unit_test::lazy_ostream"* @_ZN5boost9unit_test12lazy_ostream8instanceEv()
          to label %invoke.cont171 unwind label %lpad170

invoke.cont171:                                   ; preds = %invoke.cont168
  invoke void @_ZN5boost9unit_test13basic_cstringIKcEC1EPS2_j(%"class.boost::unit_test::basic_cstring"* %ref.tmp173, i8* getelementptr inbounds ([9 x i8]* @.str20, i32 0, i32 0), i32 8)
          to label %invoke.cont174 unwind label %lpad170

invoke.cont174:                                   ; preds = %invoke.cont171
  invoke void @_ZN5boost9unit_testlsINS0_13basic_cstringIKcEEEENS0_17lazy_ostream_implIRKT_EERKNS0_12lazy_ostreamES8_(%"class.boost::unit_test::lazy_ostream_impl.0"* sret %ref.tmp169, %"class.boost::unit_test::lazy_ostream"* %call172, %"class.boost::unit_test::basic_cstring"* %ref.tmp173)
          to label %invoke.cont175 unwind label %lpad170

invoke.cont175:                                   ; preds = %invoke.cont174
  %45 = bitcast %"class.boost::unit_test::lazy_ostream_impl.0"* %ref.tmp169 to %"class.boost::unit_test::lazy_ostream"*
  invoke void @_ZN5boost9unit_test13basic_cstringIKcEC1EPS2_j(%"class.boost::unit_test::basic_cstring"* %agg.tmp176, i8* getelementptr inbounds ([24 x i8]* @.str, i32 0, i32 0), i32 23)
          to label %invoke.cont178 unwind label %lpad177

invoke.cont178:                                   ; preds = %invoke.cont175
  %call180 = invoke zeroext i1 (%"class.boost::test_tools::predicate_result"*, %"class.boost::unit_test::lazy_ostream"*, %"class.boost::unit_test::basic_cstring"*, i32, i32, i32, i32, ...)* @_ZN5boost10test_tools9tt_detail10check_implERKNS0_16predicate_resultERKNS_9unit_test12lazy_ostreamENS5_13basic_cstringIKcEEjNS1_10tool_levelENS1_10check_typeEjz(%"class.boost::test_tools::predicate_result"* %ref.tmp161, %"class.boost::unit_test::lazy_ostream"* %45, %"class.boost::unit_test::basic_cstring"* byval align 4 %agg.tmp176, i32 181, i32 1, i32 0, i32 0)
          to label %invoke.cont179 unwind label %lpad177

invoke.cont179:                                   ; preds = %invoke.cont178
  invoke void @_ZN5boost9unit_test17lazy_ostream_implIRKNS0_13basic_cstringIKcEEED1Ev(%"class.boost::unit_test::lazy_ostream_impl.0"* %ref.tmp169)
          to label %invoke.cont181 unwind label %lpad170

invoke.cont181:                                   ; preds = %invoke.cont179
  invoke void @_ZN5boost10test_tools16predicate_resultD1Ev(%"class.boost::test_tools::predicate_result"* %ref.tmp161)
          to label %invoke.cont184 unwind label %lpad58

invoke.cont184:                                   ; preds = %invoke.cont181
  br label %do.cond187

do.cond187:                                       ; preds = %invoke.cont184
  %46 = load i8* @_ZN5boost10test_tools12_GLOBAL__N_110dummy_condE, align 1
  %tobool188 = trunc i8 %46 to i1
  br i1 %tobool188, label %do.body155, label %do.end189

do.end189:                                        ; preds = %do.cond187
  br label %do.body190

do.body190:                                       ; preds = %do.cond222, %do.end189
  %47 = load %"class.boost::unit_test::unit_test_log_t"** @_ZN5boost9unit_test12_GLOBAL__N_113unit_test_logE, align 4
  invoke void @_ZN5boost9unit_test13basic_cstringIKcEC1EPS2_j(%"class.boost::unit_test::basic_cstring"* %agg.tmp191, i8* getelementptr inbounds ([24 x i8]* @.str, i32 0, i32 0), i32 23)
          to label %invoke.cont192 unwind label %lpad58

invoke.cont192:                                   ; preds = %do.body190
  invoke void @_ZN5boost9unit_test13basic_cstringIKcEC1Ev(%"class.boost::unit_test::basic_cstring"* %agg.tmp193)
          to label %invoke.cont194 unwind label %lpad58

invoke.cont194:                                   ; preds = %invoke.cont192
  invoke void @_ZN5boost9unit_test15unit_test_log_t14set_checkpointENS0_13basic_cstringIKcEEjS4_(%"class.boost::unit_test::unit_test_log_t"* %47, %"class.boost::unit_test::basic_cstring"* byval align 4 %agg.tmp191, i32 182, %"class.boost::unit_test::basic_cstring"* byval align 4 %agg.tmp193)
          to label %invoke.cont195 unwind label %lpad58

invoke.cont195:                                   ; preds = %invoke.cont194
  %48 = bitcast %"class.std::basic_stringstream"* %ss to i8**
  %vtable197 = load i8** %48
  %vbase.offset.ptr198 = getelementptr i8* %vtable197, i64 -12
  %49 = bitcast i8* %vbase.offset.ptr198 to i32*
  %vbase.offset199 = load i32* %49
  %50 = bitcast %"class.std::basic_stringstream"* %ss to i8*
  %add.ptr200 = getelementptr inbounds i8* %50, i32 %vbase.offset199
  %51 = bitcast i8* %add.ptr200 to %"class.std::basic_ios"*
  %call202 = invoke zeroext i1 @_ZNKSt9basic_iosIcSt11char_traitsIcEE4failEv(%"class.std::basic_ios"* %51)
          to label %invoke.cont201 unwind label %lpad58

invoke.cont201:                                   ; preds = %invoke.cont195
  invoke void @_ZN5boost10test_tools16predicate_resultC1Eb(%"class.boost::test_tools::predicate_result"* %ref.tmp196, i1 zeroext %call202)
          to label %invoke.cont203 unwind label %lpad58

invoke.cont203:                                   ; preds = %invoke.cont201
  %call207 = invoke %"class.boost::unit_test::lazy_ostream"* @_ZN5boost9unit_test12lazy_ostream8instanceEv()
          to label %invoke.cont206 unwind label %lpad205

invoke.cont206:                                   ; preds = %invoke.cont203
  invoke void @_ZN5boost9unit_test13basic_cstringIKcEC1EPS2_j(%"class.boost::unit_test::basic_cstring"* %ref.tmp208, i8* getelementptr inbounds ([10 x i8]* @.str21, i32 0, i32 0), i32 9)
          to label %invoke.cont209 unwind label %lpad205

invoke.cont209:                                   ; preds = %invoke.cont206
  invoke void @_ZN5boost9unit_testlsINS0_13basic_cstringIKcEEEENS0_17lazy_ostream_implIRKT_EERKNS0_12lazy_ostreamES8_(%"class.boost::unit_test::lazy_ostream_impl.0"* sret %ref.tmp204, %"class.boost::unit_test::lazy_ostream"* %call207, %"class.boost::unit_test::basic_cstring"* %ref.tmp208)
          to label %invoke.cont210 unwind label %lpad205

invoke.cont210:                                   ; preds = %invoke.cont209
  %52 = bitcast %"class.boost::unit_test::lazy_ostream_impl.0"* %ref.tmp204 to %"class.boost::unit_test::lazy_ostream"*
  invoke void @_ZN5boost9unit_test13basic_cstringIKcEC1EPS2_j(%"class.boost::unit_test::basic_cstring"* %agg.tmp211, i8* getelementptr inbounds ([24 x i8]* @.str, i32 0, i32 0), i32 23)
          to label %invoke.cont213 unwind label %lpad212

invoke.cont213:                                   ; preds = %invoke.cont210
  %call215 = invoke zeroext i1 (%"class.boost::test_tools::predicate_result"*, %"class.boost::unit_test::lazy_ostream"*, %"class.boost::unit_test::basic_cstring"*, i32, i32, i32, i32, ...)* @_ZN5boost10test_tools9tt_detail10check_implERKNS0_16predicate_resultERKNS_9unit_test12lazy_ostreamENS5_13basic_cstringIKcEEjNS1_10tool_levelENS1_10check_typeEjz(%"class.boost::test_tools::predicate_result"* %ref.tmp196, %"class.boost::unit_test::lazy_ostream"* %52, %"class.boost::unit_test::basic_cstring"* byval align 4 %agg.tmp211, i32 182, i32 1, i32 0, i32 0)
          to label %invoke.cont214 unwind label %lpad212

invoke.cont214:                                   ; preds = %invoke.cont213
  invoke void @_ZN5boost9unit_test17lazy_ostream_implIRKNS0_13basic_cstringIKcEEED1Ev(%"class.boost::unit_test::lazy_ostream_impl.0"* %ref.tmp204)
          to label %invoke.cont216 unwind label %lpad205

invoke.cont216:                                   ; preds = %invoke.cont214
  invoke void @_ZN5boost10test_tools16predicate_resultD1Ev(%"class.boost::test_tools::predicate_result"* %ref.tmp196)
          to label %invoke.cont219 unwind label %lpad58

invoke.cont219:                                   ; preds = %invoke.cont216
  br label %do.cond222

do.cond222:                                       ; preds = %invoke.cont219
  %53 = load i8* @_ZN5boost10test_tools12_GLOBAL__N_110dummy_condE, align 1
  %tobool223 = trunc i8 %53 to i1
  br i1 %tobool223, label %do.body190, label %do.end224

do.end224:                                        ; preds = %do.cond222
  br label %do.body225

do.body225:                                       ; preds = %do.cond257, %do.end224
  %54 = load %"class.boost::unit_test::unit_test_log_t"** @_ZN5boost9unit_test12_GLOBAL__N_113unit_test_logE, align 4
  invoke void @_ZN5boost9unit_test13basic_cstringIKcEC1EPS2_j(%"class.boost::unit_test::basic_cstring"* %agg.tmp226, i8* getelementptr inbounds ([24 x i8]* @.str, i32 0, i32 0), i32 23)
          to label %invoke.cont227 unwind label %lpad58

invoke.cont227:                                   ; preds = %do.body225
  invoke void @_ZN5boost9unit_test13basic_cstringIKcEC1Ev(%"class.boost::unit_test::basic_cstring"* %agg.tmp228)
          to label %invoke.cont229 unwind label %lpad58

invoke.cont229:                                   ; preds = %invoke.cont227
  invoke void @_ZN5boost9unit_test15unit_test_log_t14set_checkpointENS0_13basic_cstringIKcEEjS4_(%"class.boost::unit_test::unit_test_log_t"* %54, %"class.boost::unit_test::basic_cstring"* byval align 4 %agg.tmp226, i32 183, %"class.boost::unit_test::basic_cstring"* byval align 4 %agg.tmp228)
          to label %invoke.cont230 unwind label %lpad58

invoke.cont230:                                   ; preds = %invoke.cont229
  %55 = bitcast %"class.std::basic_stringstream"* %ss to i8**
  %vtable232 = load i8** %55
  %vbase.offset.ptr233 = getelementptr i8* %vtable232, i64 -12
  %56 = bitcast i8* %vbase.offset.ptr233 to i32*
  %vbase.offset234 = load i32* %56
  %57 = bitcast %"class.std::basic_stringstream"* %ss to i8*
  %add.ptr235 = getelementptr inbounds i8* %57, i32 %vbase.offset234
  %58 = bitcast i8* %add.ptr235 to %"class.std::basic_ios"*
  %call237 = invoke zeroext i1 @_ZNKSt9basic_iosIcSt11char_traitsIcEE3badEv(%"class.std::basic_ios"* %58)
          to label %invoke.cont236 unwind label %lpad58

invoke.cont236:                                   ; preds = %invoke.cont230
  %lnot = xor i1 %call237, true
  invoke void @_ZN5boost10test_tools16predicate_resultC1Eb(%"class.boost::test_tools::predicate_result"* %ref.tmp231, i1 zeroext %lnot)
          to label %invoke.cont238 unwind label %lpad58

invoke.cont238:                                   ; preds = %invoke.cont236
  %call242 = invoke %"class.boost::unit_test::lazy_ostream"* @_ZN5boost9unit_test12lazy_ostream8instanceEv()
          to label %invoke.cont241 unwind label %lpad240

invoke.cont241:                                   ; preds = %invoke.cont238
  invoke void @_ZN5boost9unit_test13basic_cstringIKcEC1EPS2_j(%"class.boost::unit_test::basic_cstring"* %ref.tmp243, i8* getelementptr inbounds ([10 x i8]* @.str22, i32 0, i32 0), i32 9)
          to label %invoke.cont244 unwind label %lpad240

invoke.cont244:                                   ; preds = %invoke.cont241
  invoke void @_ZN5boost9unit_testlsINS0_13basic_cstringIKcEEEENS0_17lazy_ostream_implIRKT_EERKNS0_12lazy_ostreamES8_(%"class.boost::unit_test::lazy_ostream_impl.0"* sret %ref.tmp239, %"class.boost::unit_test::lazy_ostream"* %call242, %"class.boost::unit_test::basic_cstring"* %ref.tmp243)
          to label %invoke.cont245 unwind label %lpad240

invoke.cont245:                                   ; preds = %invoke.cont244
  %59 = bitcast %"class.boost::unit_test::lazy_ostream_impl.0"* %ref.tmp239 to %"class.boost::unit_test::lazy_ostream"*
  invoke void @_ZN5boost9unit_test13basic_cstringIKcEC1EPS2_j(%"class.boost::unit_test::basic_cstring"* %agg.tmp246, i8* getelementptr inbounds ([24 x i8]* @.str, i32 0, i32 0), i32 23)
          to label %invoke.cont248 unwind label %lpad247

invoke.cont248:                                   ; preds = %invoke.cont245
  %call250 = invoke zeroext i1 (%"class.boost::test_tools::predicate_result"*, %"class.boost::unit_test::lazy_ostream"*, %"class.boost::unit_test::basic_cstring"*, i32, i32, i32, i32, ...)* @_ZN5boost10test_tools9tt_detail10check_implERKNS0_16predicate_resultERKNS_9unit_test12lazy_ostreamENS5_13basic_cstringIKcEEjNS1_10tool_levelENS1_10check_typeEjz(%"class.boost::test_tools::predicate_result"* %ref.tmp231, %"class.boost::unit_test::lazy_ostream"* %59, %"class.boost::unit_test::basic_cstring"* byval align 4 %agg.tmp246, i32 183, i32 1, i32 0, i32 0)
          to label %invoke.cont249 unwind label %lpad247

invoke.cont249:                                   ; preds = %invoke.cont248
  invoke void @_ZN5boost9unit_test17lazy_ostream_implIRKNS0_13basic_cstringIKcEEED1Ev(%"class.boost::unit_test::lazy_ostream_impl.0"* %ref.tmp239)
          to label %invoke.cont251 unwind label %lpad240

invoke.cont251:                                   ; preds = %invoke.cont249
  invoke void @_ZN5boost10test_tools16predicate_resultD1Ev(%"class.boost::test_tools::predicate_result"* %ref.tmp231)
          to label %invoke.cont254 unwind label %lpad58

invoke.cont254:                                   ; preds = %invoke.cont251
  br label %do.cond257

do.cond257:                                       ; preds = %invoke.cont254
  %60 = load i8* @_ZN5boost10test_tools12_GLOBAL__N_110dummy_condE, align 1
  %tobool258 = trunc i8 %60 to i1
  br i1 %tobool258, label %do.body225, label %do.end259

do.end259:                                        ; preds = %do.cond257
  invoke void @_ZN5boost2io23basic_ios_iostate_saverIcSt11char_traitsIcEED1Ev(%"class.boost::io::basic_ios_iostate_saver"* %iis)
          to label %invoke.cont260 unwind label %lpad

invoke.cont260:                                   ; preds = %do.end259
  br label %do.body263

do.body263:                                       ; preds = %do.cond289, %invoke.cont260
  %61 = load %"class.boost::unit_test::unit_test_log_t"** @_ZN5boost9unit_test12_GLOBAL__N_113unit_test_logE, align 4
  invoke void @_ZN5boost9unit_test13basic_cstringIKcEC1EPS2_j(%"class.boost::unit_test::basic_cstring"* %agg.tmp264, i8* getelementptr inbounds ([24 x i8]* @.str, i32 0, i32 0), i32 23)
          to label %invoke.cont265 unwind label %lpad

invoke.cont265:                                   ; preds = %do.body263
  invoke void @_ZN5boost9unit_test13basic_cstringIKcEC1Ev(%"class.boost::unit_test::basic_cstring"* %agg.tmp266)
          to label %invoke.cont267 unwind label %lpad

invoke.cont267:                                   ; preds = %invoke.cont265
  invoke void @_ZN5boost9unit_test15unit_test_log_t14set_checkpointENS0_13basic_cstringIKcEEjS4_(%"class.boost::unit_test::unit_test_log_t"* %61, %"class.boost::unit_test::basic_cstring"* byval align 4 %agg.tmp264, i32 186, %"class.boost::unit_test::basic_cstring"* byval align 4 %agg.tmp266)
          to label %invoke.cont268 unwind label %lpad

invoke.cont268:                                   ; preds = %invoke.cont267
  %call272 = invoke %"class.boost::unit_test::lazy_ostream"* @_ZN5boost9unit_test12lazy_ostream8instanceEv()
          to label %invoke.cont271 unwind label %lpad

invoke.cont271:                                   ; preds = %invoke.cont268
  invoke void @_ZN5boost9unit_testlsIA1_cEENS0_17lazy_ostream_implIRKT_EERKNS0_12lazy_ostreamES6_(%"class.boost::unit_test::lazy_ostream_impl"* sret %ref.tmp270, %"class.boost::unit_test::lazy_ostream"* %call272, [1 x i8]* @.str3)
          to label %invoke.cont273 unwind label %lpad

invoke.cont273:                                   ; preds = %invoke.cont271
  %62 = bitcast %"class.boost::unit_test::lazy_ostream_impl"* %ref.tmp270 to %"class.boost::unit_test::lazy_ostream"*
  invoke void @_ZN5boost9unit_test13basic_cstringIKcEC1EPS2_j(%"class.boost::unit_test::basic_cstring"* %agg.tmp274, i8* getelementptr inbounds ([24 x i8]* @.str, i32 0, i32 0), i32 23)
          to label %invoke.cont276 unwind label %lpad275

invoke.cont276:                                   ; preds = %invoke.cont273
  %63 = bitcast %"class.std::basic_stringstream"* %ss to i8**
  %vtable277 = load i8** %63
  %vbase.offset.ptr278 = getelementptr i8* %vtable277, i64 -12
  %64 = bitcast i8* %vbase.offset.ptr278 to i32*
  %vbase.offset279 = load i32* %64
  %65 = bitcast %"class.std::basic_stringstream"* %ss to i8*
  %add.ptr280 = getelementptr inbounds i8* %65, i32 %vbase.offset279
  %66 = bitcast i8* %add.ptr280 to %"class.std::basic_ios"*
  %call282 = invoke i32 @_ZNKSt9basic_iosIcSt11char_traitsIcEE7rdstateEv(%"class.std::basic_ios"* %66)
          to label %invoke.cont281 unwind label %lpad275

invoke.cont281:                                   ; preds = %invoke.cont276
  store i32 %call282, i32* %ref.tmp283, align 4
  %call285 = invoke zeroext i1 @_ZN5boost10test_tools9tt_detail10check_frwdINS1_15equal_impl_frwdESt12_Ios_IostateS4_EEbT_RKNS_9unit_test12lazy_ostreamENS6_13basic_cstringIKcEEjNS1_10tool_levelENS1_10check_typeERKT0_PSB_RKT1_SI_(%"class.boost::unit_test::lazy_ostream"* %62, %"class.boost::unit_test::basic_cstring"* byval align 4 %agg.tmp274, i32 186, i32 1, i32 2, i32* @_ZNSt8ios_base7goodbitE, i8* getelementptr inbounds ([18 x i8]* @.str16, i32 0, i32 0), i32* %ref.tmp283, i8* getelementptr inbounds ([13 x i8]* @.str17, i32 0, i32 0))
          to label %invoke.cont284 unwind label %lpad275

invoke.cont284:                                   ; preds = %invoke.cont281
  invoke void @_ZN5boost9unit_test17lazy_ostream_implIRA1_KcED1Ev(%"class.boost::unit_test::lazy_ostream_impl"* %ref.tmp270)
          to label %invoke.cont286 unwind label %lpad

invoke.cont286:                                   ; preds = %invoke.cont284
  br label %do.cond289

do.cond289:                                       ; preds = %invoke.cont286
  %67 = load i8* @_ZN5boost10test_tools12_GLOBAL__N_110dummy_condE, align 1
  %tobool290 = trunc i8 %67 to i1
  br i1 %tobool290, label %do.body263, label %do.end291

do.end291:                                        ; preds = %do.cond289
  br label %do.body292

do.body292:                                       ; preds = %do.cond324, %do.end291
  %68 = load %"class.boost::unit_test::unit_test_log_t"** @_ZN5boost9unit_test12_GLOBAL__N_113unit_test_logE, align 4
  invoke void @_ZN5boost9unit_test13basic_cstringIKcEC1EPS2_j(%"class.boost::unit_test::basic_cstring"* %agg.tmp293, i8* getelementptr inbounds ([24 x i8]* @.str, i32 0, i32 0), i32 23)
          to label %invoke.cont294 unwind label %lpad

invoke.cont294:                                   ; preds = %do.body292
  invoke void @_ZN5boost9unit_test13basic_cstringIKcEC1Ev(%"class.boost::unit_test::basic_cstring"* %agg.tmp295)
          to label %invoke.cont296 unwind label %lpad

invoke.cont296:                                   ; preds = %invoke.cont294
  invoke void @_ZN5boost9unit_test15unit_test_log_t14set_checkpointENS0_13basic_cstringIKcEEjS4_(%"class.boost::unit_test::unit_test_log_t"* %68, %"class.boost::unit_test::basic_cstring"* byval align 4 %agg.tmp293, i32 187, %"class.boost::unit_test::basic_cstring"* byval align 4 %agg.tmp295)
          to label %invoke.cont297 unwind label %lpad

invoke.cont297:                                   ; preds = %invoke.cont296
  %69 = bitcast %"class.std::basic_stringstream"* %ss to i8**
  %vtable299 = load i8** %69
  %vbase.offset.ptr300 = getelementptr i8* %vtable299, i64 -12
  %70 = bitcast i8* %vbase.offset.ptr300 to i32*
  %vbase.offset301 = load i32* %70
  %71 = bitcast %"class.std::basic_stringstream"* %ss to i8*
  %add.ptr302 = getelementptr inbounds i8* %71, i32 %vbase.offset301
  %72 = bitcast i8* %add.ptr302 to %"class.std::basic_ios"*
  %call304 = invoke zeroext i1 @_ZNKSt9basic_iosIcSt11char_traitsIcEE4goodEv(%"class.std::basic_ios"* %72)
          to label %invoke.cont303 unwind label %lpad

invoke.cont303:                                   ; preds = %invoke.cont297
  invoke void @_ZN5boost10test_tools16predicate_resultC1Eb(%"class.boost::test_tools::predicate_result"* %ref.tmp298, i1 zeroext %call304)
          to label %invoke.cont305 unwind label %lpad

invoke.cont305:                                   ; preds = %invoke.cont303
  %call309 = invoke %"class.boost::unit_test::lazy_ostream"* @_ZN5boost9unit_test12lazy_ostream8instanceEv()
          to label %invoke.cont308 unwind label %lpad307

invoke.cont308:                                   ; preds = %invoke.cont305
  invoke void @_ZN5boost9unit_test13basic_cstringIKcEC1EPS2_j(%"class.boost::unit_test::basic_cstring"* %ref.tmp310, i8* getelementptr inbounds ([10 x i8]* @.str18, i32 0, i32 0), i32 9)
          to label %invoke.cont311 unwind label %lpad307

invoke.cont311:                                   ; preds = %invoke.cont308
  invoke void @_ZN5boost9unit_testlsINS0_13basic_cstringIKcEEEENS0_17lazy_ostream_implIRKT_EERKNS0_12lazy_ostreamES8_(%"class.boost::unit_test::lazy_ostream_impl.0"* sret %ref.tmp306, %"class.boost::unit_test::lazy_ostream"* %call309, %"class.boost::unit_test::basic_cstring"* %ref.tmp310)
          to label %invoke.cont312 unwind label %lpad307

invoke.cont312:                                   ; preds = %invoke.cont311
  %73 = bitcast %"class.boost::unit_test::lazy_ostream_impl.0"* %ref.tmp306 to %"class.boost::unit_test::lazy_ostream"*
  invoke void @_ZN5boost9unit_test13basic_cstringIKcEC1EPS2_j(%"class.boost::unit_test::basic_cstring"* %agg.tmp313, i8* getelementptr inbounds ([24 x i8]* @.str, i32 0, i32 0), i32 23)
          to label %invoke.cont315 unwind label %lpad314

invoke.cont315:                                   ; preds = %invoke.cont312
  %call317 = invoke zeroext i1 (%"class.boost::test_tools::predicate_result"*, %"class.boost::unit_test::lazy_ostream"*, %"class.boost::unit_test::basic_cstring"*, i32, i32, i32, i32, ...)* @_ZN5boost10test_tools9tt_detail10check_implERKNS0_16predicate_resultERKNS_9unit_test12lazy_ostreamENS5_13basic_cstringIKcEEjNS1_10tool_levelENS1_10check_typeEjz(%"class.boost::test_tools::predicate_result"* %ref.tmp298, %"class.boost::unit_test::lazy_ostream"* %73, %"class.boost::unit_test::basic_cstring"* byval align 4 %agg.tmp313, i32 187, i32 1, i32 0, i32 0)
          to label %invoke.cont316 unwind label %lpad314

invoke.cont316:                                   ; preds = %invoke.cont315
  invoke void @_ZN5boost9unit_test17lazy_ostream_implIRKNS0_13basic_cstringIKcEEED1Ev(%"class.boost::unit_test::lazy_ostream_impl.0"* %ref.tmp306)
          to label %invoke.cont318 unwind label %lpad307

invoke.cont318:                                   ; preds = %invoke.cont316
  invoke void @_ZN5boost10test_tools16predicate_resultD1Ev(%"class.boost::test_tools::predicate_result"* %ref.tmp298)
          to label %invoke.cont321 unwind label %lpad

invoke.cont321:                                   ; preds = %invoke.cont318
  br label %do.cond324

do.cond324:                                       ; preds = %invoke.cont321
  %74 = load i8* @_ZN5boost10test_tools12_GLOBAL__N_110dummy_condE, align 1
  %tobool325 = trunc i8 %74 to i1
  br i1 %tobool325, label %do.body292, label %do.end326

do.end326:                                        ; preds = %do.cond324
  %75 = bitcast %"class.std::basic_stringstream"* %ss to i8**
  %vtable328 = load i8** %75
  %vbase.offset.ptr329 = getelementptr i8* %vtable328, i64 -12
  %76 = bitcast i8* %vbase.offset.ptr329 to i32*
  %vbase.offset330 = load i32* %76
  %77 = bitcast %"class.std::basic_stringstream"* %ss to i8*
  %add.ptr331 = getelementptr inbounds i8* %77, i32 %vbase.offset330
  %78 = bitcast i8* %add.ptr331 to %"class.std::basic_ios"*
  invoke void @_ZN5boost2io23basic_ios_iostate_saverIcSt11char_traitsIcEEC1ERSt9basic_iosIcS3_ERKSt12_Ios_Iostate(%"class.boost::io::basic_ios_iostate_saver"* %iis327, %"class.std::basic_ios"* %78, i32* @_ZNSt8ios_base6eofbitE)
          to label %invoke.cont332 unwind label %lpad

invoke.cont332:                                   ; preds = %do.end326
  br label %do.body333

do.body333:                                       ; preds = %do.cond360, %invoke.cont332
  %79 = load %"class.boost::unit_test::unit_test_log_t"** @_ZN5boost9unit_test12_GLOBAL__N_113unit_test_logE, align 4
  invoke void @_ZN5boost9unit_test13basic_cstringIKcEC1EPS2_j(%"class.boost::unit_test::basic_cstring"* %agg.tmp334, i8* getelementptr inbounds ([24 x i8]* @.str, i32 0, i32 0), i32 23)
          to label %invoke.cont336 unwind label %lpad335

invoke.cont336:                                   ; preds = %do.body333
  invoke void @_ZN5boost9unit_test13basic_cstringIKcEC1Ev(%"class.boost::unit_test::basic_cstring"* %agg.tmp337)
          to label %invoke.cont338 unwind label %lpad335

invoke.cont338:                                   ; preds = %invoke.cont336
  invoke void @_ZN5boost9unit_test15unit_test_log_t14set_checkpointENS0_13basic_cstringIKcEEjS4_(%"class.boost::unit_test::unit_test_log_t"* %79, %"class.boost::unit_test::basic_cstring"* byval align 4 %agg.tmp334, i32 192, %"class.boost::unit_test::basic_cstring"* byval align 4 %agg.tmp337)
          to label %invoke.cont339 unwind label %lpad335

invoke.cont339:                                   ; preds = %invoke.cont338
  %call343 = invoke %"class.boost::unit_test::lazy_ostream"* @_ZN5boost9unit_test12lazy_ostream8instanceEv()
          to label %invoke.cont342 unwind label %lpad335

invoke.cont342:                                   ; preds = %invoke.cont339
  invoke void @_ZN5boost9unit_testlsIA1_cEENS0_17lazy_ostream_implIRKT_EERKNS0_12lazy_ostreamES6_(%"class.boost::unit_test::lazy_ostream_impl"* sret %ref.tmp341, %"class.boost::unit_test::lazy_ostream"* %call343, [1 x i8]* @.str3)
          to label %invoke.cont344 unwind label %lpad335

invoke.cont344:                                   ; preds = %invoke.cont342
  %80 = bitcast %"class.boost::unit_test::lazy_ostream_impl"* %ref.tmp341 to %"class.boost::unit_test::lazy_ostream"*
  invoke void @_ZN5boost9unit_test13basic_cstringIKcEC1EPS2_j(%"class.boost::unit_test::basic_cstring"* %agg.tmp345, i8* getelementptr inbounds ([24 x i8]* @.str, i32 0, i32 0), i32 23)
          to label %invoke.cont347 unwind label %lpad346

invoke.cont347:                                   ; preds = %invoke.cont344
  %81 = bitcast %"class.std::basic_stringstream"* %ss to i8**
  %vtable348 = load i8** %81
  %vbase.offset.ptr349 = getelementptr i8* %vtable348, i64 -12
  %82 = bitcast i8* %vbase.offset.ptr349 to i32*
  %vbase.offset350 = load i32* %82
  %83 = bitcast %"class.std::basic_stringstream"* %ss to i8*
  %add.ptr351 = getelementptr inbounds i8* %83, i32 %vbase.offset350
  %84 = bitcast i8* %add.ptr351 to %"class.std::basic_ios"*
  %call353 = invoke i32 @_ZNKSt9basic_iosIcSt11char_traitsIcEE7rdstateEv(%"class.std::basic_ios"* %84)
          to label %invoke.cont352 unwind label %lpad346

invoke.cont352:                                   ; preds = %invoke.cont347
  store i32 %call353, i32* %ref.tmp354, align 4
  %call356 = invoke zeroext i1 @_ZN5boost10test_tools9tt_detail10check_frwdINS1_15equal_impl_frwdESt12_Ios_IostateS4_EEbT_RKNS_9unit_test12lazy_ostreamENS6_13basic_cstringIKcEEjNS1_10tool_levelENS1_10check_typeERKT0_PSB_RKT1_SI_(%"class.boost::unit_test::lazy_ostream"* %80, %"class.boost::unit_test::basic_cstring"* byval align 4 %agg.tmp345, i32 192, i32 1, i32 2, i32* @_ZNSt8ios_base6eofbitE, i8* getelementptr inbounds ([17 x i8]* @.str23, i32 0, i32 0), i32* %ref.tmp354, i8* getelementptr inbounds ([13 x i8]* @.str17, i32 0, i32 0))
          to label %invoke.cont355 unwind label %lpad346

invoke.cont355:                                   ; preds = %invoke.cont352
  invoke void @_ZN5boost9unit_test17lazy_ostream_implIRA1_KcED1Ev(%"class.boost::unit_test::lazy_ostream_impl"* %ref.tmp341)
          to label %invoke.cont357 unwind label %lpad335

invoke.cont357:                                   ; preds = %invoke.cont355
  br label %do.cond360

do.cond360:                                       ; preds = %invoke.cont357
  %85 = load i8* @_ZN5boost10test_tools12_GLOBAL__N_110dummy_condE, align 1
  %tobool361 = trunc i8 %85 to i1
  br i1 %tobool361, label %do.body333, label %do.end362

do.end362:                                        ; preds = %do.cond360
  br label %do.body363

do.body363:                                       ; preds = %do.cond395, %do.end362
  %86 = load %"class.boost::unit_test::unit_test_log_t"** @_ZN5boost9unit_test12_GLOBAL__N_113unit_test_logE, align 4
  invoke void @_ZN5boost9unit_test13basic_cstringIKcEC1EPS2_j(%"class.boost::unit_test::basic_cstring"* %agg.tmp364, i8* getelementptr inbounds ([24 x i8]* @.str, i32 0, i32 0), i32 23)
          to label %invoke.cont365 unwind label %lpad335

invoke.cont365:                                   ; preds = %do.body363
  invoke void @_ZN5boost9unit_test13basic_cstringIKcEC1Ev(%"class.boost::unit_test::basic_cstring"* %agg.tmp366)
          to label %invoke.cont367 unwind label %lpad335

invoke.cont367:                                   ; preds = %invoke.cont365
  invoke void @_ZN5boost9unit_test15unit_test_log_t14set_checkpointENS0_13basic_cstringIKcEEjS4_(%"class.boost::unit_test::unit_test_log_t"* %86, %"class.boost::unit_test::basic_cstring"* byval align 4 %agg.tmp364, i32 193, %"class.boost::unit_test::basic_cstring"* byval align 4 %agg.tmp366)
          to label %invoke.cont368 unwind label %lpad335

invoke.cont368:                                   ; preds = %invoke.cont367
  %87 = bitcast %"class.std::basic_stringstream"* %ss to i8**
  %vtable370 = load i8** %87
  %vbase.offset.ptr371 = getelementptr i8* %vtable370, i64 -12
  %88 = bitcast i8* %vbase.offset.ptr371 to i32*
  %vbase.offset372 = load i32* %88
  %89 = bitcast %"class.std::basic_stringstream"* %ss to i8*
  %add.ptr373 = getelementptr inbounds i8* %89, i32 %vbase.offset372
  %90 = bitcast i8* %add.ptr373 to %"class.std::basic_ios"*
  %call375 = invoke zeroext i1 @_ZNKSt9basic_iosIcSt11char_traitsIcEE3eofEv(%"class.std::basic_ios"* %90)
          to label %invoke.cont374 unwind label %lpad335

invoke.cont374:                                   ; preds = %invoke.cont368
  invoke void @_ZN5boost10test_tools16predicate_resultC1Eb(%"class.boost::test_tools::predicate_result"* %ref.tmp369, i1 zeroext %call375)
          to label %invoke.cont376 unwind label %lpad335

invoke.cont376:                                   ; preds = %invoke.cont374
  %call380 = invoke %"class.boost::unit_test::lazy_ostream"* @_ZN5boost9unit_test12lazy_ostream8instanceEv()
          to label %invoke.cont379 unwind label %lpad378

invoke.cont379:                                   ; preds = %invoke.cont376
  invoke void @_ZN5boost9unit_test13basic_cstringIKcEC1EPS2_j(%"class.boost::unit_test::basic_cstring"* %ref.tmp381, i8* getelementptr inbounds ([9 x i8]* @.str20, i32 0, i32 0), i32 8)
          to label %invoke.cont382 unwind label %lpad378

invoke.cont382:                                   ; preds = %invoke.cont379
  invoke void @_ZN5boost9unit_testlsINS0_13basic_cstringIKcEEEENS0_17lazy_ostream_implIRKT_EERKNS0_12lazy_ostreamES8_(%"class.boost::unit_test::lazy_ostream_impl.0"* sret %ref.tmp377, %"class.boost::unit_test::lazy_ostream"* %call380, %"class.boost::unit_test::basic_cstring"* %ref.tmp381)
          to label %invoke.cont383 unwind label %lpad378

invoke.cont383:                                   ; preds = %invoke.cont382
  %91 = bitcast %"class.boost::unit_test::lazy_ostream_impl.0"* %ref.tmp377 to %"class.boost::unit_test::lazy_ostream"*
  invoke void @_ZN5boost9unit_test13basic_cstringIKcEC1EPS2_j(%"class.boost::unit_test::basic_cstring"* %agg.tmp384, i8* getelementptr inbounds ([24 x i8]* @.str, i32 0, i32 0), i32 23)
          to label %invoke.cont386 unwind label %lpad385

invoke.cont386:                                   ; preds = %invoke.cont383
  %call388 = invoke zeroext i1 (%"class.boost::test_tools::predicate_result"*, %"class.boost::unit_test::lazy_ostream"*, %"class.boost::unit_test::basic_cstring"*, i32, i32, i32, i32, ...)* @_ZN5boost10test_tools9tt_detail10check_implERKNS0_16predicate_resultERKNS_9unit_test12lazy_ostreamENS5_13basic_cstringIKcEEjNS1_10tool_levelENS1_10check_typeEjz(%"class.boost::test_tools::predicate_result"* %ref.tmp369, %"class.boost::unit_test::lazy_ostream"* %91, %"class.boost::unit_test::basic_cstring"* byval align 4 %agg.tmp384, i32 193, i32 1, i32 0, i32 0)
          to label %invoke.cont387 unwind label %lpad385

invoke.cont387:                                   ; preds = %invoke.cont386
  invoke void @_ZN5boost9unit_test17lazy_ostream_implIRKNS0_13basic_cstringIKcEEED1Ev(%"class.boost::unit_test::lazy_ostream_impl.0"* %ref.tmp377)
          to label %invoke.cont389 unwind label %lpad378

invoke.cont389:                                   ; preds = %invoke.cont387
  invoke void @_ZN5boost10test_tools16predicate_resultD1Ev(%"class.boost::test_tools::predicate_result"* %ref.tmp369)
          to label %invoke.cont392 unwind label %lpad335

invoke.cont392:                                   ; preds = %invoke.cont389
  br label %do.cond395

do.cond395:                                       ; preds = %invoke.cont392
  %92 = load i8* @_ZN5boost10test_tools12_GLOBAL__N_110dummy_condE, align 1
  %tobool396 = trunc i8 %92 to i1
  br i1 %tobool396, label %do.body363, label %do.end397

do.end397:                                        ; preds = %do.cond395
  %93 = bitcast %"class.std::basic_stringstream"* %ss to i8**
  %vtable398 = load i8** %93
  %vbase.offset.ptr399 = getelementptr i8* %vtable398, i64 -12
  %94 = bitcast i8* %vbase.offset.ptr399 to i32*
  %vbase.offset400 = load i32* %94
  %95 = bitcast %"class.std::basic_stringstream"* %ss to i8*
  %add.ptr401 = getelementptr inbounds i8* %95, i32 %vbase.offset400
  %96 = bitcast i8* %add.ptr401 to %"class.std::basic_ios"*
  invoke void @_ZNSt9basic_iosIcSt11char_traitsIcEE8setstateESt12_Ios_Iostate(%"class.std::basic_ios"* %96, i32 1)
          to label %invoke.cont402 unwind label %lpad335

invoke.cont402:                                   ; preds = %do.end397
  br label %do.body403

do.body403:                                       ; preds = %do.cond432, %invoke.cont402
  %97 = load %"class.boost::unit_test::unit_test_log_t"** @_ZN5boost9unit_test12_GLOBAL__N_113unit_test_logE, align 4
  invoke void @_ZN5boost9unit_test13basic_cstringIKcEC1EPS2_j(%"class.boost::unit_test::basic_cstring"* %agg.tmp404, i8* getelementptr inbounds ([24 x i8]* @.str, i32 0, i32 0), i32 23)
          to label %invoke.cont405 unwind label %lpad335

invoke.cont405:                                   ; preds = %do.body403
  invoke void @_ZN5boost9unit_test13basic_cstringIKcEC1Ev(%"class.boost::unit_test::basic_cstring"* %agg.tmp406)
          to label %invoke.cont407 unwind label %lpad335

invoke.cont407:                                   ; preds = %invoke.cont405
  invoke void @_ZN5boost9unit_test15unit_test_log_t14set_checkpointENS0_13basic_cstringIKcEEjS4_(%"class.boost::unit_test::unit_test_log_t"* %97, %"class.boost::unit_test::basic_cstring"* byval align 4 %agg.tmp404, i32 197, %"class.boost::unit_test::basic_cstring"* byval align 4 %agg.tmp406)
          to label %invoke.cont408 unwind label %lpad335

invoke.cont408:                                   ; preds = %invoke.cont407
  %call412 = invoke %"class.boost::unit_test::lazy_ostream"* @_ZN5boost9unit_test12lazy_ostream8instanceEv()
          to label %invoke.cont411 unwind label %lpad335

invoke.cont411:                                   ; preds = %invoke.cont408
  invoke void @_ZN5boost9unit_testlsIA1_cEENS0_17lazy_ostream_implIRKT_EERKNS0_12lazy_ostreamES6_(%"class.boost::unit_test::lazy_ostream_impl"* sret %ref.tmp410, %"class.boost::unit_test::lazy_ostream"* %call412, [1 x i8]* @.str3)
          to label %invoke.cont413 unwind label %lpad335

invoke.cont413:                                   ; preds = %invoke.cont411
  %98 = bitcast %"class.boost::unit_test::lazy_ostream_impl"* %ref.tmp410 to %"class.boost::unit_test::lazy_ostream"*
  invoke void @_ZN5boost9unit_test13basic_cstringIKcEC1EPS2_j(%"class.boost::unit_test::basic_cstring"* %agg.tmp414, i8* getelementptr inbounds ([24 x i8]* @.str, i32 0, i32 0), i32 23)
          to label %invoke.cont416 unwind label %lpad415

invoke.cont416:                                   ; preds = %invoke.cont413
  %call418 = invoke i32 @_ZStorSt12_Ios_IostateS_(i32 2, i32 1)
          to label %invoke.cont417 unwind label %lpad415

invoke.cont417:                                   ; preds = %invoke.cont416
  store i32 %call418, i32* %ref.tmp419, align 4
  %99 = bitcast %"class.std::basic_stringstream"* %ss to i8**
  %vtable420 = load i8** %99
  %vbase.offset.ptr421 = getelementptr i8* %vtable420, i64 -12
  %100 = bitcast i8* %vbase.offset.ptr421 to i32*
  %vbase.offset422 = load i32* %100
  %101 = bitcast %"class.std::basic_stringstream"* %ss to i8*
  %add.ptr423 = getelementptr inbounds i8* %101, i32 %vbase.offset422
  %102 = bitcast i8* %add.ptr423 to %"class.std::basic_ios"*
  %call425 = invoke i32 @_ZNKSt9basic_iosIcSt11char_traitsIcEE7rdstateEv(%"class.std::basic_ios"* %102)
          to label %invoke.cont424 unwind label %lpad415

invoke.cont424:                                   ; preds = %invoke.cont417
  store i32 %call425, i32* %ref.tmp426, align 4
  %call428 = invoke zeroext i1 @_ZN5boost10test_tools9tt_detail10check_frwdINS1_15equal_impl_frwdESt12_Ios_IostateS4_EEbT_RKNS_9unit_test12lazy_ostreamENS6_13basic_cstringIKcEEjNS1_10tool_levelENS1_10check_typeERKT0_PSB_RKT1_SI_(%"class.boost::unit_test::lazy_ostream"* %98, %"class.boost::unit_test::basic_cstring"* byval align 4 %agg.tmp414, i32 197, i32 1, i32 2, i32* %ref.tmp419, i8* getelementptr inbounds ([38 x i8]* @.str24, i32 0, i32 0), i32* %ref.tmp426, i8* getelementptr inbounds ([13 x i8]* @.str17, i32 0, i32 0))
          to label %invoke.cont427 unwind label %lpad415

invoke.cont427:                                   ; preds = %invoke.cont424
  invoke void @_ZN5boost9unit_test17lazy_ostream_implIRA1_KcED1Ev(%"class.boost::unit_test::lazy_ostream_impl"* %ref.tmp410)
          to label %invoke.cont429 unwind label %lpad335

invoke.cont429:                                   ; preds = %invoke.cont427
  br label %do.cond432

do.cond432:                                       ; preds = %invoke.cont429
  %103 = load i8* @_ZN5boost10test_tools12_GLOBAL__N_110dummy_condE, align 1
  %tobool433 = trunc i8 %103 to i1
  br i1 %tobool433, label %do.body403, label %do.end434

do.end434:                                        ; preds = %do.cond432
  br label %do.body435

do.body435:                                       ; preds = %do.cond467, %do.end434
  %104 = load %"class.boost::unit_test::unit_test_log_t"** @_ZN5boost9unit_test12_GLOBAL__N_113unit_test_logE, align 4
  invoke void @_ZN5boost9unit_test13basic_cstringIKcEC1EPS2_j(%"class.boost::unit_test::basic_cstring"* %agg.tmp436, i8* getelementptr inbounds ([24 x i8]* @.str, i32 0, i32 0), i32 23)
          to label %invoke.cont437 unwind label %lpad335

invoke.cont437:                                   ; preds = %do.body435
  invoke void @_ZN5boost9unit_test13basic_cstringIKcEC1Ev(%"class.boost::unit_test::basic_cstring"* %agg.tmp438)
          to label %invoke.cont439 unwind label %lpad335

invoke.cont439:                                   ; preds = %invoke.cont437
  invoke void @_ZN5boost9unit_test15unit_test_log_t14set_checkpointENS0_13basic_cstringIKcEEjS4_(%"class.boost::unit_test::unit_test_log_t"* %104, %"class.boost::unit_test::basic_cstring"* byval align 4 %agg.tmp436, i32 198, %"class.boost::unit_test::basic_cstring"* byval align 4 %agg.tmp438)
          to label %invoke.cont440 unwind label %lpad335

invoke.cont440:                                   ; preds = %invoke.cont439
  %105 = bitcast %"class.std::basic_stringstream"* %ss to i8**
  %vtable442 = load i8** %105
  %vbase.offset.ptr443 = getelementptr i8* %vtable442, i64 -12
  %106 = bitcast i8* %vbase.offset.ptr443 to i32*
  %vbase.offset444 = load i32* %106
  %107 = bitcast %"class.std::basic_stringstream"* %ss to i8*
  %add.ptr445 = getelementptr inbounds i8* %107, i32 %vbase.offset444
  %108 = bitcast i8* %add.ptr445 to %"class.std::basic_ios"*
  %call447 = invoke zeroext i1 @_ZNKSt9basic_iosIcSt11char_traitsIcEE3eofEv(%"class.std::basic_ios"* %108)
          to label %invoke.cont446 unwind label %lpad335

invoke.cont446:                                   ; preds = %invoke.cont440
  invoke void @_ZN5boost10test_tools16predicate_resultC1Eb(%"class.boost::test_tools::predicate_result"* %ref.tmp441, i1 zeroext %call447)
          to label %invoke.cont448 unwind label %lpad335

invoke.cont448:                                   ; preds = %invoke.cont446
  %call452 = invoke %"class.boost::unit_test::lazy_ostream"* @_ZN5boost9unit_test12lazy_ostream8instanceEv()
          to label %invoke.cont451 unwind label %lpad450

invoke.cont451:                                   ; preds = %invoke.cont448
  invoke void @_ZN5boost9unit_test13basic_cstringIKcEC1EPS2_j(%"class.boost::unit_test::basic_cstring"* %ref.tmp453, i8* getelementptr inbounds ([9 x i8]* @.str20, i32 0, i32 0), i32 8)
          to label %invoke.cont454 unwind label %lpad450

invoke.cont454:                                   ; preds = %invoke.cont451
  invoke void @_ZN5boost9unit_testlsINS0_13basic_cstringIKcEEEENS0_17lazy_ostream_implIRKT_EERKNS0_12lazy_ostreamES8_(%"class.boost::unit_test::lazy_ostream_impl.0"* sret %ref.tmp449, %"class.boost::unit_test::lazy_ostream"* %call452, %"class.boost::unit_test::basic_cstring"* %ref.tmp453)
          to label %invoke.cont455 unwind label %lpad450

invoke.cont455:                                   ; preds = %invoke.cont454
  %109 = bitcast %"class.boost::unit_test::lazy_ostream_impl.0"* %ref.tmp449 to %"class.boost::unit_test::lazy_ostream"*
  invoke void @_ZN5boost9unit_test13basic_cstringIKcEC1EPS2_j(%"class.boost::unit_test::basic_cstring"* %agg.tmp456, i8* getelementptr inbounds ([24 x i8]* @.str, i32 0, i32 0), i32 23)
          to label %invoke.cont458 unwind label %lpad457

invoke.cont458:                                   ; preds = %invoke.cont455
  %call460 = invoke zeroext i1 (%"class.boost::test_tools::predicate_result"*, %"class.boost::unit_test::lazy_ostream"*, %"class.boost::unit_test::basic_cstring"*, i32, i32, i32, i32, ...)* @_ZN5boost10test_tools9tt_detail10check_implERKNS0_16predicate_resultERKNS_9unit_test12lazy_ostreamENS5_13basic_cstringIKcEEjNS1_10tool_levelENS1_10check_typeEjz(%"class.boost::test_tools::predicate_result"* %ref.tmp441, %"class.boost::unit_test::lazy_ostream"* %109, %"class.boost::unit_test::basic_cstring"* byval align 4 %agg.tmp456, i32 198, i32 1, i32 0, i32 0)
          to label %invoke.cont459 unwind label %lpad457

invoke.cont459:                                   ; preds = %invoke.cont458
  invoke void @_ZN5boost9unit_test17lazy_ostream_implIRKNS0_13basic_cstringIKcEEED1Ev(%"class.boost::unit_test::lazy_ostream_impl.0"* %ref.tmp449)
          to label %invoke.cont461 unwind label %lpad450

invoke.cont461:                                   ; preds = %invoke.cont459
  invoke void @_ZN5boost10test_tools16predicate_resultD1Ev(%"class.boost::test_tools::predicate_result"* %ref.tmp441)
          to label %invoke.cont464 unwind label %lpad335

invoke.cont464:                                   ; preds = %invoke.cont461
  br label %do.cond467

do.cond467:                                       ; preds = %invoke.cont464
  %110 = load i8* @_ZN5boost10test_tools12_GLOBAL__N_110dummy_condE, align 1
  %tobool468 = trunc i8 %110 to i1
  br i1 %tobool468, label %do.body435, label %do.end469

do.end469:                                        ; preds = %do.cond467
  br label %do.body470

do.body470:                                       ; preds = %do.cond502, %do.end469
  %111 = load %"class.boost::unit_test::unit_test_log_t"** @_ZN5boost9unit_test12_GLOBAL__N_113unit_test_logE, align 4
  invoke void @_ZN5boost9unit_test13basic_cstringIKcEC1EPS2_j(%"class.boost::unit_test::basic_cstring"* %agg.tmp471, i8* getelementptr inbounds ([24 x i8]* @.str, i32 0, i32 0), i32 23)
          to label %invoke.cont472 unwind label %lpad335

invoke.cont472:                                   ; preds = %do.body470
  invoke void @_ZN5boost9unit_test13basic_cstringIKcEC1Ev(%"class.boost::unit_test::basic_cstring"* %agg.tmp473)
          to label %invoke.cont474 unwind label %lpad335

invoke.cont474:                                   ; preds = %invoke.cont472
  invoke void @_ZN5boost9unit_test15unit_test_log_t14set_checkpointENS0_13basic_cstringIKcEEjS4_(%"class.boost::unit_test::unit_test_log_t"* %111, %"class.boost::unit_test::basic_cstring"* byval align 4 %agg.tmp471, i32 199, %"class.boost::unit_test::basic_cstring"* byval align 4 %agg.tmp473)
          to label %invoke.cont475 unwind label %lpad335

invoke.cont475:                                   ; preds = %invoke.cont474
  %112 = bitcast %"class.std::basic_stringstream"* %ss to i8**
  %vtable477 = load i8** %112
  %vbase.offset.ptr478 = getelementptr i8* %vtable477, i64 -12
  %113 = bitcast i8* %vbase.offset.ptr478 to i32*
  %vbase.offset479 = load i32* %113
  %114 = bitcast %"class.std::basic_stringstream"* %ss to i8*
  %add.ptr480 = getelementptr inbounds i8* %114, i32 %vbase.offset479
  %115 = bitcast i8* %add.ptr480 to %"class.std::basic_ios"*
  %call482 = invoke zeroext i1 @_ZNKSt9basic_iosIcSt11char_traitsIcEE4failEv(%"class.std::basic_ios"* %115)
          to label %invoke.cont481 unwind label %lpad335

invoke.cont481:                                   ; preds = %invoke.cont475
  invoke void @_ZN5boost10test_tools16predicate_resultC1Eb(%"class.boost::test_tools::predicate_result"* %ref.tmp476, i1 zeroext %call482)
          to label %invoke.cont483 unwind label %lpad335

invoke.cont483:                                   ; preds = %invoke.cont481
  %call487 = invoke %"class.boost::unit_test::lazy_ostream"* @_ZN5boost9unit_test12lazy_ostream8instanceEv()
          to label %invoke.cont486 unwind label %lpad485

invoke.cont486:                                   ; preds = %invoke.cont483
  invoke void @_ZN5boost9unit_test13basic_cstringIKcEC1EPS2_j(%"class.boost::unit_test::basic_cstring"* %ref.tmp488, i8* getelementptr inbounds ([10 x i8]* @.str21, i32 0, i32 0), i32 9)
          to label %invoke.cont489 unwind label %lpad485

invoke.cont489:                                   ; preds = %invoke.cont486
  invoke void @_ZN5boost9unit_testlsINS0_13basic_cstringIKcEEEENS0_17lazy_ostream_implIRKT_EERKNS0_12lazy_ostreamES8_(%"class.boost::unit_test::lazy_ostream_impl.0"* sret %ref.tmp484, %"class.boost::unit_test::lazy_ostream"* %call487, %"class.boost::unit_test::basic_cstring"* %ref.tmp488)
          to label %invoke.cont490 unwind label %lpad485

invoke.cont490:                                   ; preds = %invoke.cont489
  %116 = bitcast %"class.boost::unit_test::lazy_ostream_impl.0"* %ref.tmp484 to %"class.boost::unit_test::lazy_ostream"*
  invoke void @_ZN5boost9unit_test13basic_cstringIKcEC1EPS2_j(%"class.boost::unit_test::basic_cstring"* %agg.tmp491, i8* getelementptr inbounds ([24 x i8]* @.str, i32 0, i32 0), i32 23)
          to label %invoke.cont493 unwind label %lpad492

invoke.cont493:                                   ; preds = %invoke.cont490
  %call495 = invoke zeroext i1 (%"class.boost::test_tools::predicate_result"*, %"class.boost::unit_test::lazy_ostream"*, %"class.boost::unit_test::basic_cstring"*, i32, i32, i32, i32, ...)* @_ZN5boost10test_tools9tt_detail10check_implERKNS0_16predicate_resultERKNS_9unit_test12lazy_ostreamENS5_13basic_cstringIKcEEjNS1_10tool_levelENS1_10check_typeEjz(%"class.boost::test_tools::predicate_result"* %ref.tmp476, %"class.boost::unit_test::lazy_ostream"* %116, %"class.boost::unit_test::basic_cstring"* byval align 4 %agg.tmp491, i32 199, i32 1, i32 0, i32 0)
          to label %invoke.cont494 unwind label %lpad492

invoke.cont494:                                   ; preds = %invoke.cont493
  invoke void @_ZN5boost9unit_test17lazy_ostream_implIRKNS0_13basic_cstringIKcEEED1Ev(%"class.boost::unit_test::lazy_ostream_impl.0"* %ref.tmp484)
          to label %invoke.cont496 unwind label %lpad485

invoke.cont496:                                   ; preds = %invoke.cont494
  invoke void @_ZN5boost10test_tools16predicate_resultD1Ev(%"class.boost::test_tools::predicate_result"* %ref.tmp476)
          to label %invoke.cont499 unwind label %lpad335

invoke.cont499:                                   ; preds = %invoke.cont496
  br label %do.cond502

do.cond502:                                       ; preds = %invoke.cont499
  %117 = load i8* @_ZN5boost10test_tools12_GLOBAL__N_110dummy_condE, align 1
  %tobool503 = trunc i8 %117 to i1
  br i1 %tobool503, label %do.body470, label %do.end504

do.end504:                                        ; preds = %do.cond502
  br label %do.body505

do.body505:                                       ; preds = %do.cond537, %do.end504
  %118 = load %"class.boost::unit_test::unit_test_log_t"** @_ZN5boost9unit_test12_GLOBAL__N_113unit_test_logE, align 4
  invoke void @_ZN5boost9unit_test13basic_cstringIKcEC1EPS2_j(%"class.boost::unit_test::basic_cstring"* %agg.tmp506, i8* getelementptr inbounds ([24 x i8]* @.str, i32 0, i32 0), i32 23)
          to label %invoke.cont507 unwind label %lpad335

invoke.cont507:                                   ; preds = %do.body505
  invoke void @_ZN5boost9unit_test13basic_cstringIKcEC1Ev(%"class.boost::unit_test::basic_cstring"* %agg.tmp508)
          to label %invoke.cont509 unwind label %lpad335

invoke.cont509:                                   ; preds = %invoke.cont507
  invoke void @_ZN5boost9unit_test15unit_test_log_t14set_checkpointENS0_13basic_cstringIKcEEjS4_(%"class.boost::unit_test::unit_test_log_t"* %118, %"class.boost::unit_test::basic_cstring"* byval align 4 %agg.tmp506, i32 200, %"class.boost::unit_test::basic_cstring"* byval align 4 %agg.tmp508)
          to label %invoke.cont510 unwind label %lpad335

invoke.cont510:                                   ; preds = %invoke.cont509
  %119 = bitcast %"class.std::basic_stringstream"* %ss to i8**
  %vtable512 = load i8** %119
  %vbase.offset.ptr513 = getelementptr i8* %vtable512, i64 -12
  %120 = bitcast i8* %vbase.offset.ptr513 to i32*
  %vbase.offset514 = load i32* %120
  %121 = bitcast %"class.std::basic_stringstream"* %ss to i8*
  %add.ptr515 = getelementptr inbounds i8* %121, i32 %vbase.offset514
  %122 = bitcast i8* %add.ptr515 to %"class.std::basic_ios"*
  %call517 = invoke zeroext i1 @_ZNKSt9basic_iosIcSt11char_traitsIcEE3badEv(%"class.std::basic_ios"* %122)
          to label %invoke.cont516 unwind label %lpad335

invoke.cont516:                                   ; preds = %invoke.cont510
  invoke void @_ZN5boost10test_tools16predicate_resultC1Eb(%"class.boost::test_tools::predicate_result"* %ref.tmp511, i1 zeroext %call517)
          to label %invoke.cont518 unwind label %lpad335

invoke.cont518:                                   ; preds = %invoke.cont516
  %call522 = invoke %"class.boost::unit_test::lazy_ostream"* @_ZN5boost9unit_test12lazy_ostream8instanceEv()
          to label %invoke.cont521 unwind label %lpad520

invoke.cont521:                                   ; preds = %invoke.cont518
  invoke void @_ZN5boost9unit_test13basic_cstringIKcEC1EPS2_j(%"class.boost::unit_test::basic_cstring"* %ref.tmp523, i8* getelementptr inbounds ([9 x i8]* @.str25, i32 0, i32 0), i32 8)
          to label %invoke.cont524 unwind label %lpad520

invoke.cont524:                                   ; preds = %invoke.cont521
  invoke void @_ZN5boost9unit_testlsINS0_13basic_cstringIKcEEEENS0_17lazy_ostream_implIRKT_EERKNS0_12lazy_ostreamES8_(%"class.boost::unit_test::lazy_ostream_impl.0"* sret %ref.tmp519, %"class.boost::unit_test::lazy_ostream"* %call522, %"class.boost::unit_test::basic_cstring"* %ref.tmp523)
          to label %invoke.cont525 unwind label %lpad520

invoke.cont525:                                   ; preds = %invoke.cont524
  %123 = bitcast %"class.boost::unit_test::lazy_ostream_impl.0"* %ref.tmp519 to %"class.boost::unit_test::lazy_ostream"*
  invoke void @_ZN5boost9unit_test13basic_cstringIKcEC1EPS2_j(%"class.boost::unit_test::basic_cstring"* %agg.tmp526, i8* getelementptr inbounds ([24 x i8]* @.str, i32 0, i32 0), i32 23)
          to label %invoke.cont528 unwind label %lpad527

invoke.cont528:                                   ; preds = %invoke.cont525
  %call530 = invoke zeroext i1 (%"class.boost::test_tools::predicate_result"*, %"class.boost::unit_test::lazy_ostream"*, %"class.boost::unit_test::basic_cstring"*, i32, i32, i32, i32, ...)* @_ZN5boost10test_tools9tt_detail10check_implERKNS0_16predicate_resultERKNS_9unit_test12lazy_ostreamENS5_13basic_cstringIKcEEjNS1_10tool_levelENS1_10check_typeEjz(%"class.boost::test_tools::predicate_result"* %ref.tmp511, %"class.boost::unit_test::lazy_ostream"* %123, %"class.boost::unit_test::basic_cstring"* byval align 4 %agg.tmp526, i32 200, i32 1, i32 0, i32 0)
          to label %invoke.cont529 unwind label %lpad527

invoke.cont529:                                   ; preds = %invoke.cont528
  invoke void @_ZN5boost9unit_test17lazy_ostream_implIRKNS0_13basic_cstringIKcEEED1Ev(%"class.boost::unit_test::lazy_ostream_impl.0"* %ref.tmp519)
          to label %invoke.cont531 unwind label %lpad520

invoke.cont531:                                   ; preds = %invoke.cont529
  invoke void @_ZN5boost10test_tools16predicate_resultD1Ev(%"class.boost::test_tools::predicate_result"* %ref.tmp511)
          to label %invoke.cont534 unwind label %lpad335

invoke.cont534:                                   ; preds = %invoke.cont531
  br label %do.cond537

do.cond537:                                       ; preds = %invoke.cont534
  %124 = load i8* @_ZN5boost10test_tools12_GLOBAL__N_110dummy_condE, align 1
  %tobool538 = trunc i8 %124 to i1
  br i1 %tobool538, label %do.body505, label %do.end539

do.end539:                                        ; preds = %do.cond537
  invoke void @_ZN5boost2io23basic_ios_iostate_saverIcSt11char_traitsIcEED1Ev(%"class.boost::io::basic_ios_iostate_saver"* %iis327)
          to label %invoke.cont540 unwind label %lpad

invoke.cont540:                                   ; preds = %do.end539
  br label %do.body543

do.body543:                                       ; preds = %do.cond569, %invoke.cont540
  %125 = load %"class.boost::unit_test::unit_test_log_t"** @_ZN5boost9unit_test12_GLOBAL__N_113unit_test_logE, align 4
  invoke void @_ZN5boost9unit_test13basic_cstringIKcEC1EPS2_j(%"class.boost::unit_test::basic_cstring"* %agg.tmp544, i8* getelementptr inbounds ([24 x i8]* @.str, i32 0, i32 0), i32 23)
          to label %invoke.cont545 unwind label %lpad

invoke.cont545:                                   ; preds = %do.body543
  invoke void @_ZN5boost9unit_test13basic_cstringIKcEC1Ev(%"class.boost::unit_test::basic_cstring"* %agg.tmp546)
          to label %invoke.cont547 unwind label %lpad

invoke.cont547:                                   ; preds = %invoke.cont545
  invoke void @_ZN5boost9unit_test15unit_test_log_t14set_checkpointENS0_13basic_cstringIKcEEjS4_(%"class.boost::unit_test::unit_test_log_t"* %125, %"class.boost::unit_test::basic_cstring"* byval align 4 %agg.tmp544, i32 203, %"class.boost::unit_test::basic_cstring"* byval align 4 %agg.tmp546)
          to label %invoke.cont548 unwind label %lpad

invoke.cont548:                                   ; preds = %invoke.cont547
  %call552 = invoke %"class.boost::unit_test::lazy_ostream"* @_ZN5boost9unit_test12lazy_ostream8instanceEv()
          to label %invoke.cont551 unwind label %lpad

invoke.cont551:                                   ; preds = %invoke.cont548
  invoke void @_ZN5boost9unit_testlsIA1_cEENS0_17lazy_ostream_implIRKT_EERKNS0_12lazy_ostreamES6_(%"class.boost::unit_test::lazy_ostream_impl"* sret %ref.tmp550, %"class.boost::unit_test::lazy_ostream"* %call552, [1 x i8]* @.str3)
          to label %invoke.cont553 unwind label %lpad

invoke.cont553:                                   ; preds = %invoke.cont551
  %126 = bitcast %"class.boost::unit_test::lazy_ostream_impl"* %ref.tmp550 to %"class.boost::unit_test::lazy_ostream"*
  invoke void @_ZN5boost9unit_test13basic_cstringIKcEC1EPS2_j(%"class.boost::unit_test::basic_cstring"* %agg.tmp554, i8* getelementptr inbounds ([24 x i8]* @.str, i32 0, i32 0), i32 23)
          to label %invoke.cont556 unwind label %lpad555

invoke.cont556:                                   ; preds = %invoke.cont553
  %127 = bitcast %"class.std::basic_stringstream"* %ss to i8**
  %vtable557 = load i8** %127
  %vbase.offset.ptr558 = getelementptr i8* %vtable557, i64 -12
  %128 = bitcast i8* %vbase.offset.ptr558 to i32*
  %vbase.offset559 = load i32* %128
  %129 = bitcast %"class.std::basic_stringstream"* %ss to i8*
  %add.ptr560 = getelementptr inbounds i8* %129, i32 %vbase.offset559
  %130 = bitcast i8* %add.ptr560 to %"class.std::basic_ios"*
  %call562 = invoke i32 @_ZNKSt9basic_iosIcSt11char_traitsIcEE7rdstateEv(%"class.std::basic_ios"* %130)
          to label %invoke.cont561 unwind label %lpad555

invoke.cont561:                                   ; preds = %invoke.cont556
  store i32 %call562, i32* %ref.tmp563, align 4
  %call565 = invoke zeroext i1 @_ZN5boost10test_tools9tt_detail10check_frwdINS1_15equal_impl_frwdESt12_Ios_IostateS4_EEbT_RKNS_9unit_test12lazy_ostreamENS6_13basic_cstringIKcEEjNS1_10tool_levelENS1_10check_typeERKT0_PSB_RKT1_SI_(%"class.boost::unit_test::lazy_ostream"* %126, %"class.boost::unit_test::basic_cstring"* byval align 4 %agg.tmp554, i32 203, i32 1, i32 2, i32* @_ZNSt8ios_base7goodbitE, i8* getelementptr inbounds ([18 x i8]* @.str16, i32 0, i32 0), i32* %ref.tmp563, i8* getelementptr inbounds ([13 x i8]* @.str17, i32 0, i32 0))
          to label %invoke.cont564 unwind label %lpad555

invoke.cont564:                                   ; preds = %invoke.cont561
  invoke void @_ZN5boost9unit_test17lazy_ostream_implIRA1_KcED1Ev(%"class.boost::unit_test::lazy_ostream_impl"* %ref.tmp550)
          to label %invoke.cont566 unwind label %lpad

invoke.cont566:                                   ; preds = %invoke.cont564
  br label %do.cond569

do.cond569:                                       ; preds = %invoke.cont566
  %131 = load i8* @_ZN5boost10test_tools12_GLOBAL__N_110dummy_condE, align 1
  %tobool570 = trunc i8 %131 to i1
  br i1 %tobool570, label %do.body543, label %do.end571

do.end571:                                        ; preds = %do.cond569
  br label %do.body572

do.body572:                                       ; preds = %do.cond604, %do.end571
  %132 = load %"class.boost::unit_test::unit_test_log_t"** @_ZN5boost9unit_test12_GLOBAL__N_113unit_test_logE, align 4
  invoke void @_ZN5boost9unit_test13basic_cstringIKcEC1EPS2_j(%"class.boost::unit_test::basic_cstring"* %agg.tmp573, i8* getelementptr inbounds ([24 x i8]* @.str, i32 0, i32 0), i32 23)
          to label %invoke.cont574 unwind label %lpad

invoke.cont574:                                   ; preds = %do.body572
  invoke void @_ZN5boost9unit_test13basic_cstringIKcEC1Ev(%"class.boost::unit_test::basic_cstring"* %agg.tmp575)
          to label %invoke.cont576 unwind label %lpad

invoke.cont576:                                   ; preds = %invoke.cont574
  invoke void @_ZN5boost9unit_test15unit_test_log_t14set_checkpointENS0_13basic_cstringIKcEEjS4_(%"class.boost::unit_test::unit_test_log_t"* %132, %"class.boost::unit_test::basic_cstring"* byval align 4 %agg.tmp573, i32 204, %"class.boost::unit_test::basic_cstring"* byval align 4 %agg.tmp575)
          to label %invoke.cont577 unwind label %lpad

invoke.cont577:                                   ; preds = %invoke.cont576
  %133 = bitcast %"class.std::basic_stringstream"* %ss to i8**
  %vtable579 = load i8** %133
  %vbase.offset.ptr580 = getelementptr i8* %vtable579, i64 -12
  %134 = bitcast i8* %vbase.offset.ptr580 to i32*
  %vbase.offset581 = load i32* %134
  %135 = bitcast %"class.std::basic_stringstream"* %ss to i8*
  %add.ptr582 = getelementptr inbounds i8* %135, i32 %vbase.offset581
  %136 = bitcast i8* %add.ptr582 to %"class.std::basic_ios"*
  %call584 = invoke zeroext i1 @_ZNKSt9basic_iosIcSt11char_traitsIcEE4goodEv(%"class.std::basic_ios"* %136)
          to label %invoke.cont583 unwind label %lpad

invoke.cont583:                                   ; preds = %invoke.cont577
  invoke void @_ZN5boost10test_tools16predicate_resultC1Eb(%"class.boost::test_tools::predicate_result"* %ref.tmp578, i1 zeroext %call584)
          to label %invoke.cont585 unwind label %lpad

invoke.cont585:                                   ; preds = %invoke.cont583
  %call589 = invoke %"class.boost::unit_test::lazy_ostream"* @_ZN5boost9unit_test12lazy_ostream8instanceEv()
          to label %invoke.cont588 unwind label %lpad587

invoke.cont588:                                   ; preds = %invoke.cont585
  invoke void @_ZN5boost9unit_test13basic_cstringIKcEC1EPS2_j(%"class.boost::unit_test::basic_cstring"* %ref.tmp590, i8* getelementptr inbounds ([10 x i8]* @.str18, i32 0, i32 0), i32 9)
          to label %invoke.cont591 unwind label %lpad587

invoke.cont591:                                   ; preds = %invoke.cont588
  invoke void @_ZN5boost9unit_testlsINS0_13basic_cstringIKcEEEENS0_17lazy_ostream_implIRKT_EERKNS0_12lazy_ostreamES8_(%"class.boost::unit_test::lazy_ostream_impl.0"* sret %ref.tmp586, %"class.boost::unit_test::lazy_ostream"* %call589, %"class.boost::unit_test::basic_cstring"* %ref.tmp590)
          to label %invoke.cont592 unwind label %lpad587

invoke.cont592:                                   ; preds = %invoke.cont591
  %137 = bitcast %"class.boost::unit_test::lazy_ostream_impl.0"* %ref.tmp586 to %"class.boost::unit_test::lazy_ostream"*
  invoke void @_ZN5boost9unit_test13basic_cstringIKcEC1EPS2_j(%"class.boost::unit_test::basic_cstring"* %agg.tmp593, i8* getelementptr inbounds ([24 x i8]* @.str, i32 0, i32 0), i32 23)
          to label %invoke.cont595 unwind label %lpad594

invoke.cont595:                                   ; preds = %invoke.cont592
  %call597 = invoke zeroext i1 (%"class.boost::test_tools::predicate_result"*, %"class.boost::unit_test::lazy_ostream"*, %"class.boost::unit_test::basic_cstring"*, i32, i32, i32, i32, ...)* @_ZN5boost10test_tools9tt_detail10check_implERKNS0_16predicate_resultERKNS_9unit_test12lazy_ostreamENS5_13basic_cstringIKcEEjNS1_10tool_levelENS1_10check_typeEjz(%"class.boost::test_tools::predicate_result"* %ref.tmp578, %"class.boost::unit_test::lazy_ostream"* %137, %"class.boost::unit_test::basic_cstring"* byval align 4 %agg.tmp593, i32 204, i32 1, i32 0, i32 0)
          to label %invoke.cont596 unwind label %lpad594

invoke.cont596:                                   ; preds = %invoke.cont595
  invoke void @_ZN5boost9unit_test17lazy_ostream_implIRKNS0_13basic_cstringIKcEEED1Ev(%"class.boost::unit_test::lazy_ostream_impl.0"* %ref.tmp586)
          to label %invoke.cont598 unwind label %lpad587

invoke.cont598:                                   ; preds = %invoke.cont596
  invoke void @_ZN5boost10test_tools16predicate_resultD1Ev(%"class.boost::test_tools::predicate_result"* %ref.tmp578)
          to label %invoke.cont601 unwind label %lpad

invoke.cont601:                                   ; preds = %invoke.cont598
  br label %do.cond604

do.cond604:                                       ; preds = %invoke.cont601
  %138 = load i8* @_ZN5boost10test_tools12_GLOBAL__N_110dummy_condE, align 1
  %tobool605 = trunc i8 %138 to i1
  br i1 %tobool605, label %do.body572, label %do.end606

do.end606:                                        ; preds = %do.cond604
  call void @_ZNSt18basic_stringstreamIcSt11char_traitsIcESaIcEED1Ev(%"class.std::basic_stringstream"* %ss)
  ret void

lpad:                                             ; preds = %invoke.cont598, %invoke.cont583, %invoke.cont577, %invoke.cont576, %invoke.cont574, %do.body572, %invoke.cont564, %invoke.cont551, %invoke.cont548, %invoke.cont547, %invoke.cont545, %do.body543, %do.end539, %do.end326, %invoke.cont318, %invoke.cont303, %invoke.cont297, %invoke.cont296, %invoke.cont294, %do.body292, %invoke.cont284, %invoke.cont271, %invoke.cont268, %invoke.cont267, %invoke.cont265, %do.body263, %do.end259, %do.end50, %invoke.cont44, %invoke.cont29, %invoke.cont23, %invoke.cont22, %invoke.cont20, %do.body18, %invoke.cont14, %invoke.cont5, %invoke.cont3, %invoke.cont2, %invoke.cont, %do.body
  %139 = landingpad { i8*, i32 } personality i8* bitcast (i32 (...)* @__gxx_personality_v0 to i8*)
          cleanup
  %140 = extractvalue { i8*, i32 } %139, 0
  store i8* %140, i8** %exn.slot
  %141 = extractvalue { i8*, i32 } %139, 1
  store i32 %141, i32* %ehselector.slot
  br label %ehcleanup607

lpad9:                                            ; preds = %invoke.cont11, %invoke.cont10, %invoke.cont7
  %142 = landingpad { i8*, i32 } personality i8* bitcast (i32 (...)* @__gxx_personality_v0 to i8*)
          cleanup
  %143 = extractvalue { i8*, i32 } %142, 0
  store i8* %143, i8** %exn.slot
  %144 = extractvalue { i8*, i32 } %142, 1
  store i32 %144, i32* %ehselector.slot
  invoke void @_ZN5boost9unit_test17lazy_ostream_implIRA1_KcED1Ev(%"class.boost::unit_test::lazy_ostream_impl"* %ref.tmp)
          to label %invoke.cont17 unwind label %terminate.lpad

invoke.cont17:                                    ; preds = %lpad9
  br label %ehcleanup607

lpad33:                                           ; preds = %invoke.cont42, %invoke.cont37, %invoke.cont34, %invoke.cont31
  %145 = landingpad { i8*, i32 } personality i8* bitcast (i32 (...)* @__gxx_personality_v0 to i8*)
          cleanup
  %146 = extractvalue { i8*, i32 } %145, 0
  store i8* %146, i8** %exn.slot
  %147 = extractvalue { i8*, i32 } %145, 1
  store i32 %147, i32* %ehselector.slot
  br label %ehcleanup

lpad40:                                           ; preds = %invoke.cont41, %invoke.cont38
  %148 = landingpad { i8*, i32 } personality i8* bitcast (i32 (...)* @__gxx_personality_v0 to i8*)
          cleanup
  %149 = extractvalue { i8*, i32 } %148, 0
  store i8* %149, i8** %exn.slot
  %150 = extractvalue { i8*, i32 } %148, 1
  store i32 %150, i32* %ehselector.slot
  invoke void @_ZN5boost9unit_test17lazy_ostream_implIRKNS0_13basic_cstringIKcEEED1Ev(%"class.boost::unit_test::lazy_ostream_impl.0"* %ref.tmp32)
          to label %invoke.cont45 unwind label %terminate.lpad

invoke.cont45:                                    ; preds = %lpad40
  br label %ehcleanup

ehcleanup:                                        ; preds = %invoke.cont45, %lpad33
  invoke void @_ZN5boost10test_tools16predicate_resultD1Ev(%"class.boost::test_tools::predicate_result"* %ref.tmp24)
          to label %invoke.cont47 unwind label %terminate.lpad

invoke.cont47:                                    ; preds = %ehcleanup
  br label %ehcleanup607

lpad58:                                           ; preds = %invoke.cont251, %invoke.cont236, %invoke.cont230, %invoke.cont229, %invoke.cont227, %do.body225, %invoke.cont216, %invoke.cont201, %invoke.cont195, %invoke.cont194, %invoke.cont192, %do.body190, %invoke.cont181, %invoke.cont166, %invoke.cont160, %invoke.cont159, %invoke.cont157, %do.body155, %invoke.cont147, %invoke.cont131, %invoke.cont128, %invoke.cont127, %invoke.cont125, %do.body123, %do.end120, %invoke.cont112, %invoke.cont97, %invoke.cont91, %invoke.cont90, %invoke.cont88, %do.body86, %invoke.cont78, %invoke.cont65, %invoke.cont62, %invoke.cont61, %invoke.cont59, %do.body56
  %151 = landingpad { i8*, i32 } personality i8* bitcast (i32 (...)* @__gxx_personality_v0 to i8*)
          cleanup
  %152 = extractvalue { i8*, i32 } %151, 0
  store i8* %152, i8** %exn.slot
  %153 = extractvalue { i8*, i32 } %151, 1
  store i32 %153, i32* %ehselector.slot
  br label %ehcleanup261

lpad69:                                           ; preds = %invoke.cont75, %invoke.cont70, %invoke.cont67
  %154 = landingpad { i8*, i32 } personality i8* bitcast (i32 (...)* @__gxx_personality_v0 to i8*)
          cleanup
  %155 = extractvalue { i8*, i32 } %154, 0
  store i8* %155, i8** %exn.slot
  %156 = extractvalue { i8*, i32 } %154, 1
  store i32 %156, i32* %ehselector.slot
  invoke void @_ZN5boost9unit_test17lazy_ostream_implIRA1_KcED1Ev(%"class.boost::unit_test::lazy_ostream_impl"* %ref.tmp64)
          to label %invoke.cont82 unwind label %terminate.lpad

invoke.cont82:                                    ; preds = %lpad69
  br label %ehcleanup261

lpad101:                                          ; preds = %invoke.cont110, %invoke.cont105, %invoke.cont102, %invoke.cont99
  %157 = landingpad { i8*, i32 } personality i8* bitcast (i32 (...)* @__gxx_personality_v0 to i8*)
          cleanup
  %158 = extractvalue { i8*, i32 } %157, 0
  store i8* %158, i8** %exn.slot
  %159 = extractvalue { i8*, i32 } %157, 1
  store i32 %159, i32* %ehselector.slot
  br label %ehcleanup116

lpad108:                                          ; preds = %invoke.cont109, %invoke.cont106
  %160 = landingpad { i8*, i32 } personality i8* bitcast (i32 (...)* @__gxx_personality_v0 to i8*)
          cleanup
  %161 = extractvalue { i8*, i32 } %160, 0
  store i8* %161, i8** %exn.slot
  %162 = extractvalue { i8*, i32 } %160, 1
  store i32 %162, i32* %ehselector.slot
  invoke void @_ZN5boost9unit_test17lazy_ostream_implIRKNS0_13basic_cstringIKcEEED1Ev(%"class.boost::unit_test::lazy_ostream_impl.0"* %ref.tmp100)
          to label %invoke.cont114 unwind label %terminate.lpad

invoke.cont114:                                   ; preds = %lpad108
  br label %ehcleanup116

ehcleanup116:                                     ; preds = %invoke.cont114, %lpad101
  invoke void @_ZN5boost10test_tools16predicate_resultD1Ev(%"class.boost::test_tools::predicate_result"* %ref.tmp92)
          to label %invoke.cont117 unwind label %terminate.lpad

invoke.cont117:                                   ; preds = %ehcleanup116
  br label %ehcleanup261

lpad135:                                          ; preds = %invoke.cont144, %invoke.cont137, %invoke.cont136, %invoke.cont133
  %163 = landingpad { i8*, i32 } personality i8* bitcast (i32 (...)* @__gxx_personality_v0 to i8*)
          cleanup
  %164 = extractvalue { i8*, i32 } %163, 0
  store i8* %164, i8** %exn.slot
  %165 = extractvalue { i8*, i32 } %163, 1
  store i32 %165, i32* %ehselector.slot
  invoke void @_ZN5boost9unit_test17lazy_ostream_implIRA1_KcED1Ev(%"class.boost::unit_test::lazy_ostream_impl"* %ref.tmp130)
          to label %invoke.cont151 unwind label %terminate.lpad

invoke.cont151:                                   ; preds = %lpad135
  br label %ehcleanup261

lpad170:                                          ; preds = %invoke.cont179, %invoke.cont174, %invoke.cont171, %invoke.cont168
  %166 = landingpad { i8*, i32 } personality i8* bitcast (i32 (...)* @__gxx_personality_v0 to i8*)
          cleanup
  %167 = extractvalue { i8*, i32 } %166, 0
  store i8* %167, i8** %exn.slot
  %168 = extractvalue { i8*, i32 } %166, 1
  store i32 %168, i32* %ehselector.slot
  br label %ehcleanup185

lpad177:                                          ; preds = %invoke.cont178, %invoke.cont175
  %169 = landingpad { i8*, i32 } personality i8* bitcast (i32 (...)* @__gxx_personality_v0 to i8*)
          cleanup
  %170 = extractvalue { i8*, i32 } %169, 0
  store i8* %170, i8** %exn.slot
  %171 = extractvalue { i8*, i32 } %169, 1
  store i32 %171, i32* %ehselector.slot
  invoke void @_ZN5boost9unit_test17lazy_ostream_implIRKNS0_13basic_cstringIKcEEED1Ev(%"class.boost::unit_test::lazy_ostream_impl.0"* %ref.tmp169)
          to label %invoke.cont183 unwind label %terminate.lpad

invoke.cont183:                                   ; preds = %lpad177
  br label %ehcleanup185

ehcleanup185:                                     ; preds = %invoke.cont183, %lpad170
  invoke void @_ZN5boost10test_tools16predicate_resultD1Ev(%"class.boost::test_tools::predicate_result"* %ref.tmp161)
          to label %invoke.cont186 unwind label %terminate.lpad

invoke.cont186:                                   ; preds = %ehcleanup185
  br label %ehcleanup261

lpad205:                                          ; preds = %invoke.cont214, %invoke.cont209, %invoke.cont206, %invoke.cont203
  %172 = landingpad { i8*, i32 } personality i8* bitcast (i32 (...)* @__gxx_personality_v0 to i8*)
          cleanup
  %173 = extractvalue { i8*, i32 } %172, 0
  store i8* %173, i8** %exn.slot
  %174 = extractvalue { i8*, i32 } %172, 1
  store i32 %174, i32* %ehselector.slot
  br label %ehcleanup220

lpad212:                                          ; preds = %invoke.cont213, %invoke.cont210
  %175 = landingpad { i8*, i32 } personality i8* bitcast (i32 (...)* @__gxx_personality_v0 to i8*)
          cleanup
  %176 = extractvalue { i8*, i32 } %175, 0
  store i8* %176, i8** %exn.slot
  %177 = extractvalue { i8*, i32 } %175, 1
  store i32 %177, i32* %ehselector.slot
  invoke void @_ZN5boost9unit_test17lazy_ostream_implIRKNS0_13basic_cstringIKcEEED1Ev(%"class.boost::unit_test::lazy_ostream_impl.0"* %ref.tmp204)
          to label %invoke.cont218 unwind label %terminate.lpad

invoke.cont218:                                   ; preds = %lpad212
  br label %ehcleanup220

ehcleanup220:                                     ; preds = %invoke.cont218, %lpad205
  invoke void @_ZN5boost10test_tools16predicate_resultD1Ev(%"class.boost::test_tools::predicate_result"* %ref.tmp196)
          to label %invoke.cont221 unwind label %terminate.lpad

invoke.cont221:                                   ; preds = %ehcleanup220
  br label %ehcleanup261

lpad240:                                          ; preds = %invoke.cont249, %invoke.cont244, %invoke.cont241, %invoke.cont238
  %178 = landingpad { i8*, i32 } personality i8* bitcast (i32 (...)* @__gxx_personality_v0 to i8*)
          cleanup
  %179 = extractvalue { i8*, i32 } %178, 0
  store i8* %179, i8** %exn.slot
  %180 = extractvalue { i8*, i32 } %178, 1
  store i32 %180, i32* %ehselector.slot
  br label %ehcleanup255

lpad247:                                          ; preds = %invoke.cont248, %invoke.cont245
  %181 = landingpad { i8*, i32 } personality i8* bitcast (i32 (...)* @__gxx_personality_v0 to i8*)
          cleanup
  %182 = extractvalue { i8*, i32 } %181, 0
  store i8* %182, i8** %exn.slot
  %183 = extractvalue { i8*, i32 } %181, 1
  store i32 %183, i32* %ehselector.slot
  invoke void @_ZN5boost9unit_test17lazy_ostream_implIRKNS0_13basic_cstringIKcEEED1Ev(%"class.boost::unit_test::lazy_ostream_impl.0"* %ref.tmp239)
          to label %invoke.cont253 unwind label %terminate.lpad

invoke.cont253:                                   ; preds = %lpad247
  br label %ehcleanup255

ehcleanup255:                                     ; preds = %invoke.cont253, %lpad240
  invoke void @_ZN5boost10test_tools16predicate_resultD1Ev(%"class.boost::test_tools::predicate_result"* %ref.tmp231)
          to label %invoke.cont256 unwind label %terminate.lpad

invoke.cont256:                                   ; preds = %ehcleanup255
  br label %ehcleanup261

ehcleanup261:                                     ; preds = %invoke.cont256, %invoke.cont221, %invoke.cont186, %invoke.cont151, %invoke.cont117, %invoke.cont82, %lpad58
  invoke void @_ZN5boost2io23basic_ios_iostate_saverIcSt11char_traitsIcEED1Ev(%"class.boost::io::basic_ios_iostate_saver"* %iis)
          to label %invoke.cont262 unwind label %terminate.lpad

invoke.cont262:                                   ; preds = %ehcleanup261
  br label %ehcleanup607

lpad275:                                          ; preds = %invoke.cont281, %invoke.cont276, %invoke.cont273
  %184 = landingpad { i8*, i32 } personality i8* bitcast (i32 (...)* @__gxx_personality_v0 to i8*)
          cleanup
  %185 = extractvalue { i8*, i32 } %184, 0
  store i8* %185, i8** %exn.slot
  %186 = extractvalue { i8*, i32 } %184, 1
  store i32 %186, i32* %ehselector.slot
  invoke void @_ZN5boost9unit_test17lazy_ostream_implIRA1_KcED1Ev(%"class.boost::unit_test::lazy_ostream_impl"* %ref.tmp270)
          to label %invoke.cont288 unwind label %terminate.lpad

invoke.cont288:                                   ; preds = %lpad275
  br label %ehcleanup607

lpad307:                                          ; preds = %invoke.cont316, %invoke.cont311, %invoke.cont308, %invoke.cont305
  %187 = landingpad { i8*, i32 } personality i8* bitcast (i32 (...)* @__gxx_personality_v0 to i8*)
          cleanup
  %188 = extractvalue { i8*, i32 } %187, 0
  store i8* %188, i8** %exn.slot
  %189 = extractvalue { i8*, i32 } %187, 1
  store i32 %189, i32* %ehselector.slot
  br label %ehcleanup322

lpad314:                                          ; preds = %invoke.cont315, %invoke.cont312
  %190 = landingpad { i8*, i32 } personality i8* bitcast (i32 (...)* @__gxx_personality_v0 to i8*)
          cleanup
  %191 = extractvalue { i8*, i32 } %190, 0
  store i8* %191, i8** %exn.slot
  %192 = extractvalue { i8*, i32 } %190, 1
  store i32 %192, i32* %ehselector.slot
  invoke void @_ZN5boost9unit_test17lazy_ostream_implIRKNS0_13basic_cstringIKcEEED1Ev(%"class.boost::unit_test::lazy_ostream_impl.0"* %ref.tmp306)
          to label %invoke.cont320 unwind label %terminate.lpad

invoke.cont320:                                   ; preds = %lpad314
  br label %ehcleanup322

ehcleanup322:                                     ; preds = %invoke.cont320, %lpad307
  invoke void @_ZN5boost10test_tools16predicate_resultD1Ev(%"class.boost::test_tools::predicate_result"* %ref.tmp298)
          to label %invoke.cont323 unwind label %terminate.lpad

invoke.cont323:                                   ; preds = %ehcleanup322
  br label %ehcleanup607

lpad335:                                          ; preds = %invoke.cont531, %invoke.cont516, %invoke.cont510, %invoke.cont509, %invoke.cont507, %do.body505, %invoke.cont496, %invoke.cont481, %invoke.cont475, %invoke.cont474, %invoke.cont472, %do.body470, %invoke.cont461, %invoke.cont446, %invoke.cont440, %invoke.cont439, %invoke.cont437, %do.body435, %invoke.cont427, %invoke.cont411, %invoke.cont408, %invoke.cont407, %invoke.cont405, %do.body403, %do.end397, %invoke.cont389, %invoke.cont374, %invoke.cont368, %invoke.cont367, %invoke.cont365, %do.body363, %invoke.cont355, %invoke.cont342, %invoke.cont339, %invoke.cont338, %invoke.cont336, %do.body333
  %193 = landingpad { i8*, i32 } personality i8* bitcast (i32 (...)* @__gxx_personality_v0 to i8*)
          cleanup
  %194 = extractvalue { i8*, i32 } %193, 0
  store i8* %194, i8** %exn.slot
  %195 = extractvalue { i8*, i32 } %193, 1
  store i32 %195, i32* %ehselector.slot
  br label %ehcleanup541

lpad346:                                          ; preds = %invoke.cont352, %invoke.cont347, %invoke.cont344
  %196 = landingpad { i8*, i32 } personality i8* bitcast (i32 (...)* @__gxx_personality_v0 to i8*)
          cleanup
  %197 = extractvalue { i8*, i32 } %196, 0
  store i8* %197, i8** %exn.slot
  %198 = extractvalue { i8*, i32 } %196, 1
  store i32 %198, i32* %ehselector.slot
  invoke void @_ZN5boost9unit_test17lazy_ostream_implIRA1_KcED1Ev(%"class.boost::unit_test::lazy_ostream_impl"* %ref.tmp341)
          to label %invoke.cont359 unwind label %terminate.lpad

invoke.cont359:                                   ; preds = %lpad346
  br label %ehcleanup541

lpad378:                                          ; preds = %invoke.cont387, %invoke.cont382, %invoke.cont379, %invoke.cont376
  %199 = landingpad { i8*, i32 } personality i8* bitcast (i32 (...)* @__gxx_personality_v0 to i8*)
          cleanup
  %200 = extractvalue { i8*, i32 } %199, 0
  store i8* %200, i8** %exn.slot
  %201 = extractvalue { i8*, i32 } %199, 1
  store i32 %201, i32* %ehselector.slot
  br label %ehcleanup393

lpad385:                                          ; preds = %invoke.cont386, %invoke.cont383
  %202 = landingpad { i8*, i32 } personality i8* bitcast (i32 (...)* @__gxx_personality_v0 to i8*)
          cleanup
  %203 = extractvalue { i8*, i32 } %202, 0
  store i8* %203, i8** %exn.slot
  %204 = extractvalue { i8*, i32 } %202, 1
  store i32 %204, i32* %ehselector.slot
  invoke void @_ZN5boost9unit_test17lazy_ostream_implIRKNS0_13basic_cstringIKcEEED1Ev(%"class.boost::unit_test::lazy_ostream_impl.0"* %ref.tmp377)
          to label %invoke.cont391 unwind label %terminate.lpad

invoke.cont391:                                   ; preds = %lpad385
  br label %ehcleanup393

ehcleanup393:                                     ; preds = %invoke.cont391, %lpad378
  invoke void @_ZN5boost10test_tools16predicate_resultD1Ev(%"class.boost::test_tools::predicate_result"* %ref.tmp369)
          to label %invoke.cont394 unwind label %terminate.lpad

invoke.cont394:                                   ; preds = %ehcleanup393
  br label %ehcleanup541

lpad415:                                          ; preds = %invoke.cont424, %invoke.cont417, %invoke.cont416, %invoke.cont413
  %205 = landingpad { i8*, i32 } personality i8* bitcast (i32 (...)* @__gxx_personality_v0 to i8*)
          cleanup
  %206 = extractvalue { i8*, i32 } %205, 0
  store i8* %206, i8** %exn.slot
  %207 = extractvalue { i8*, i32 } %205, 1
  store i32 %207, i32* %ehselector.slot
  invoke void @_ZN5boost9unit_test17lazy_ostream_implIRA1_KcED1Ev(%"class.boost::unit_test::lazy_ostream_impl"* %ref.tmp410)
          to label %invoke.cont431 unwind label %terminate.lpad

invoke.cont431:                                   ; preds = %lpad415
  br label %ehcleanup541

lpad450:                                          ; preds = %invoke.cont459, %invoke.cont454, %invoke.cont451, %invoke.cont448
  %208 = landingpad { i8*, i32 } personality i8* bitcast (i32 (...)* @__gxx_personality_v0 to i8*)
          cleanup
  %209 = extractvalue { i8*, i32 } %208, 0
  store i8* %209, i8** %exn.slot
  %210 = extractvalue { i8*, i32 } %208, 1
  store i32 %210, i32* %ehselector.slot
  br label %ehcleanup465

lpad457:                                          ; preds = %invoke.cont458, %invoke.cont455
  %211 = landingpad { i8*, i32 } personality i8* bitcast (i32 (...)* @__gxx_personality_v0 to i8*)
          cleanup
  %212 = extractvalue { i8*, i32 } %211, 0
  store i8* %212, i8** %exn.slot
  %213 = extractvalue { i8*, i32 } %211, 1
  store i32 %213, i32* %ehselector.slot
  invoke void @_ZN5boost9unit_test17lazy_ostream_implIRKNS0_13basic_cstringIKcEEED1Ev(%"class.boost::unit_test::lazy_ostream_impl.0"* %ref.tmp449)
          to label %invoke.cont463 unwind label %terminate.lpad

invoke.cont463:                                   ; preds = %lpad457
  br label %ehcleanup465

ehcleanup465:                                     ; preds = %invoke.cont463, %lpad450
  invoke void @_ZN5boost10test_tools16predicate_resultD1Ev(%"class.boost::test_tools::predicate_result"* %ref.tmp441)
          to label %invoke.cont466 unwind label %terminate.lpad

invoke.cont466:                                   ; preds = %ehcleanup465
  br label %ehcleanup541

lpad485:                                          ; preds = %invoke.cont494, %invoke.cont489, %invoke.cont486, %invoke.cont483
  %214 = landingpad { i8*, i32 } personality i8* bitcast (i32 (...)* @__gxx_personality_v0 to i8*)
          cleanup
  %215 = extractvalue { i8*, i32 } %214, 0
  store i8* %215, i8** %exn.slot
  %216 = extractvalue { i8*, i32 } %214, 1
  store i32 %216, i32* %ehselector.slot
  br label %ehcleanup500

lpad492:                                          ; preds = %invoke.cont493, %invoke.cont490
  %217 = landingpad { i8*, i32 } personality i8* bitcast (i32 (...)* @__gxx_personality_v0 to i8*)
          cleanup
  %218 = extractvalue { i8*, i32 } %217, 0
  store i8* %218, i8** %exn.slot
  %219 = extractvalue { i8*, i32 } %217, 1
  store i32 %219, i32* %ehselector.slot
  invoke void @_ZN5boost9unit_test17lazy_ostream_implIRKNS0_13basic_cstringIKcEEED1Ev(%"class.boost::unit_test::lazy_ostream_impl.0"* %ref.tmp484)
          to label %invoke.cont498 unwind label %terminate.lpad

invoke.cont498:                                   ; preds = %lpad492
  br label %ehcleanup500

ehcleanup500:                                     ; preds = %invoke.cont498, %lpad485
  invoke void @_ZN5boost10test_tools16predicate_resultD1Ev(%"class.boost::test_tools::predicate_result"* %ref.tmp476)
          to label %invoke.cont501 unwind label %terminate.lpad

invoke.cont501:                                   ; preds = %ehcleanup500
  br label %ehcleanup541

lpad520:                                          ; preds = %invoke.cont529, %invoke.cont524, %invoke.cont521, %invoke.cont518
  %220 = landingpad { i8*, i32 } personality i8* bitcast (i32 (...)* @__gxx_personality_v0 to i8*)
          cleanup
  %221 = extractvalue { i8*, i32 } %220, 0
  store i8* %221, i8** %exn.slot
  %222 = extractvalue { i8*, i32 } %220, 1
  store i32 %222, i32* %ehselector.slot
  br label %ehcleanup535

lpad527:                                          ; preds = %invoke.cont528, %invoke.cont525
  %223 = landingpad { i8*, i32 } personality i8* bitcast (i32 (...)* @__gxx_personality_v0 to i8*)
          cleanup
  %224 = extractvalue { i8*, i32 } %223, 0
  store i8* %224, i8** %exn.slot
  %225 = extractvalue { i8*, i32 } %223, 1
  store i32 %225, i32* %ehselector.slot
  invoke void @_ZN5boost9unit_test17lazy_ostream_implIRKNS0_13basic_cstringIKcEEED1Ev(%"class.boost::unit_test::lazy_ostream_impl.0"* %ref.tmp519)
          to label %invoke.cont533 unwind label %terminate.lpad

invoke.cont533:                                   ; preds = %lpad527
  br label %ehcleanup535

ehcleanup535:                                     ; preds = %invoke.cont533, %lpad520
  invoke void @_ZN5boost10test_tools16predicate_resultD1Ev(%"class.boost::test_tools::predicate_result"* %ref.tmp511)
          to label %invoke.cont536 unwind label %terminate.lpad

invoke.cont536:                                   ; preds = %ehcleanup535
  br label %ehcleanup541

ehcleanup541:                                     ; preds = %invoke.cont536, %invoke.cont501, %invoke.cont466, %invoke.cont431, %invoke.cont394, %invoke.cont359, %lpad335
  invoke void @_ZN5boost2io23basic_ios_iostate_saverIcSt11char_traitsIcEED1Ev(%"class.boost::io::basic_ios_iostate_saver"* %iis327)
          to label %invoke.cont542 unwind label %terminate.lpad

invoke.cont542:                                   ; preds = %ehcleanup541
  br label %ehcleanup607

lpad555:                                          ; preds = %invoke.cont561, %invoke.cont556, %invoke.cont553
  %226 = landingpad { i8*, i32 } personality i8* bitcast (i32 (...)* @__gxx_personality_v0 to i8*)
          cleanup
  %227 = extractvalue { i8*, i32 } %226, 0
  store i8* %227, i8** %exn.slot
  %228 = extractvalue { i8*, i32 } %226, 1
  store i32 %228, i32* %ehselector.slot
  invoke void @_ZN5boost9unit_test17lazy_ostream_implIRA1_KcED1Ev(%"class.boost::unit_test::lazy_ostream_impl"* %ref.tmp550)
          to label %invoke.cont568 unwind label %terminate.lpad

invoke.cont568:                                   ; preds = %lpad555
  br label %ehcleanup607

lpad587:                                          ; preds = %invoke.cont596, %invoke.cont591, %invoke.cont588, %invoke.cont585
  %229 = landingpad { i8*, i32 } personality i8* bitcast (i32 (...)* @__gxx_personality_v0 to i8*)
          cleanup
  %230 = extractvalue { i8*, i32 } %229, 0
  store i8* %230, i8** %exn.slot
  %231 = extractvalue { i8*, i32 } %229, 1
  store i32 %231, i32* %ehselector.slot
  br label %ehcleanup602

lpad594:                                          ; preds = %invoke.cont595, %invoke.cont592
  %232 = landingpad { i8*, i32 } personality i8* bitcast (i32 (...)* @__gxx_personality_v0 to i8*)
          cleanup
  %233 = extractvalue { i8*, i32 } %232, 0
  store i8* %233, i8** %exn.slot
  %234 = extractvalue { i8*, i32 } %232, 1
  store i32 %234, i32* %ehselector.slot
  invoke void @_ZN5boost9unit_test17lazy_ostream_implIRKNS0_13basic_cstringIKcEEED1Ev(%"class.boost::unit_test::lazy_ostream_impl.0"* %ref.tmp586)
          to label %invoke.cont600 unwind label %terminate.lpad

invoke.cont600:                                   ; preds = %lpad594
  br label %ehcleanup602

ehcleanup602:                                     ; preds = %invoke.cont600, %lpad587
  invoke void @_ZN5boost10test_tools16predicate_resultD1Ev(%"class.boost::test_tools::predicate_result"* %ref.tmp578)
          to label %invoke.cont603 unwind label %terminate.lpad

invoke.cont603:                                   ; preds = %ehcleanup602
  br label %ehcleanup607

ehcleanup607:                                     ; preds = %invoke.cont603, %invoke.cont568, %invoke.cont542, %invoke.cont323, %invoke.cont288, %invoke.cont262, %invoke.cont47, %invoke.cont17, %lpad
  invoke void @_ZNSt18basic_stringstreamIcSt11char_traitsIcESaIcEED1Ev(%"class.std::basic_stringstream"* %ss)
          to label %invoke.cont608 unwind label %terminate.lpad

invoke.cont608:                                   ; preds = %ehcleanup607
  br label %eh.resume

eh.resume:                                        ; preds = %invoke.cont608
  %exn = load i8** %exn.slot
  %sel = load i32* %ehselector.slot
  %lpad.val = insertvalue { i8*, i32 } undef, i8* %exn, 0
  %lpad.val609 = insertvalue { i8*, i32 } %lpad.val, i32 %sel, 1
  resume { i8*, i32 } %lpad.val609

terminate.lpad:                                   ; preds = %ehcleanup607, %ehcleanup602, %lpad594, %lpad555, %ehcleanup541, %ehcleanup535, %lpad527, %ehcleanup500, %lpad492, %ehcleanup465, %lpad457, %lpad415, %ehcleanup393, %lpad385, %lpad346, %ehcleanup322, %lpad314, %lpad275, %ehcleanup261, %ehcleanup255, %lpad247, %ehcleanup220, %lpad212, %ehcleanup185, %lpad177, %lpad135, %ehcleanup116, %lpad108, %lpad69, %ehcleanup, %lpad40, %lpad9
  %235 = landingpad { i8*, i32 } personality i8* bitcast (i32 (...)* @__gxx_personality_v0 to i8*)
          catch i8* null
  call void @_ZSt9terminatev() noreturn nounwind
  unreachable
}

define linkonce_odr zeroext i1 @_ZN5boost10test_tools9tt_detail10check_frwdINS1_15equal_impl_frwdESt12_Ios_IostateS4_EEbT_RKNS_9unit_test12lazy_ostreamENS6_13basic_cstringIKcEEjNS1_10tool_levelENS1_10check_typeERKT0_PSB_RKT1_SI_(%"class.boost::unit_test::lazy_ostream"* %check_descr, %"class.boost::unit_test::basic_cstring"* byval align 4 %file_name, i32 %line_num, i32 %tl, i32 %ct, i32* %arg0, i8* %arg0_descr, i32* %arg1, i8* %arg1_descr) inlinehint {
entry:
  %P = alloca %"struct.boost::test_tools::tt_detail::equal_impl_frwd", align 1
  %check_descr.addr = alloca %"class.boost::unit_test::lazy_ostream"*, align 4
  %line_num.addr = alloca i32, align 4
  %tl.addr = alloca i32, align 4
  %ct.addr = alloca i32, align 4
  %arg0.addr = alloca i32*, align 4
  %arg0_descr.addr = alloca i8*, align 4
  %arg1.addr = alloca i32*, align 4
  %arg1_descr.addr = alloca i8*, align 4
  %ref.tmp = alloca %"class.boost::test_tools::predicate_result", align 4
  %agg.tmp = alloca %"class.boost::unit_test::basic_cstring", align 4
  %ref.tmp1 = alloca %"class.boost::unit_test::lazy_ostream_impl.45", align 4
  %exn.slot = alloca i8*
  %ehselector.slot = alloca i32
  %ref.tmp2 = alloca %"struct.boost::test_tools::tt_detail::print_helper_t.46", align 4
  %ref.tmp5 = alloca %"class.boost::unit_test::lazy_ostream_impl.45", align 4
  %ref.tmp9 = alloca %"struct.boost::test_tools::tt_detail::print_helper_t.46", align 4
  store %"class.boost::unit_test::lazy_ostream"* %check_descr, %"class.boost::unit_test::lazy_ostream"** %check_descr.addr, align 4
  store i32 %line_num, i32* %line_num.addr, align 4
  store i32 %tl, i32* %tl.addr, align 4
  store i32 %ct, i32* %ct.addr, align 4
  store i32* %arg0, i32** %arg0.addr, align 4
  store i8* %arg0_descr, i8** %arg0_descr.addr, align 4
  store i32* %arg1, i32** %arg1.addr, align 4
  store i8* %arg1_descr, i8** %arg1_descr.addr, align 4
  %0 = load i32** %arg0.addr, align 4
  %1 = load i32** %arg1.addr, align 4
  call void @_ZNK5boost10test_tools9tt_detail15equal_impl_frwdclISt12_Ios_IostateS4_EENS0_16predicate_resultERKT_RKT0_(%"class.boost::test_tools::predicate_result"* sret %ref.tmp, %"struct.boost::test_tools::tt_detail::equal_impl_frwd"* %P, i32* %0, i32* %1)
  %2 = load %"class.boost::unit_test::lazy_ostream"** %check_descr.addr, align 4
  %3 = bitcast %"class.boost::unit_test::basic_cstring"* %agg.tmp to i8*
  %4 = bitcast %"class.boost::unit_test::basic_cstring"* %file_name to i8*
  call void @llvm.memcpy.p0i8.p0i8.i32(i8* %3, i8* %4, i32 8, i32 4, i1 false)
  %5 = load i32* %line_num.addr, align 4
  %6 = load i32* %tl.addr, align 4
  %7 = load i32* %ct.addr, align 4
  %8 = load i8** %arg0_descr.addr, align 4
  %call = invoke %"class.boost::unit_test::lazy_ostream"* @_ZN5boost9unit_test12lazy_ostream8instanceEv()
          to label %invoke.cont unwind label %lpad

invoke.cont:                                      ; preds = %entry
  %9 = load i32** %arg0.addr, align 4
  invoke void @_ZN5boost10test_tools9tt_detail12print_helperISt12_Ios_IostateEENS1_14print_helper_tIT_EERKS5_(%"struct.boost::test_tools::tt_detail::print_helper_t.46"* sret %ref.tmp2, i32* %9)
          to label %invoke.cont3 unwind label %lpad

invoke.cont3:                                     ; preds = %invoke.cont
  invoke void @_ZN5boost9unit_testlsINS_10test_tools9tt_detail14print_helper_tISt12_Ios_IostateEEEENS0_17lazy_ostream_implIRKT_EERKNS0_12lazy_ostreamESA_(%"class.boost::unit_test::lazy_ostream_impl.45"* sret %ref.tmp1, %"class.boost::unit_test::lazy_ostream"* %call, %"struct.boost::test_tools::tt_detail::print_helper_t.46"* %ref.tmp2)
          to label %invoke.cont4 unwind label %lpad

invoke.cont4:                                     ; preds = %invoke.cont3
  %10 = bitcast %"class.boost::unit_test::lazy_ostream_impl.45"* %ref.tmp1 to %"class.boost::unit_test::lazy_ostream"*
  %11 = load i8** %arg1_descr.addr, align 4
  %call8 = invoke %"class.boost::unit_test::lazy_ostream"* @_ZN5boost9unit_test12lazy_ostream8instanceEv()
          to label %invoke.cont7 unwind label %lpad6

invoke.cont7:                                     ; preds = %invoke.cont4
  %12 = load i32** %arg1.addr, align 4
  invoke void @_ZN5boost10test_tools9tt_detail12print_helperISt12_Ios_IostateEENS1_14print_helper_tIT_EERKS5_(%"struct.boost::test_tools::tt_detail::print_helper_t.46"* sret %ref.tmp9, i32* %12)
          to label %invoke.cont10 unwind label %lpad6

invoke.cont10:                                    ; preds = %invoke.cont7
  invoke void @_ZN5boost9unit_testlsINS_10test_tools9tt_detail14print_helper_tISt12_Ios_IostateEEEENS0_17lazy_ostream_implIRKT_EERKNS0_12lazy_ostreamESA_(%"class.boost::unit_test::lazy_ostream_impl.45"* sret %ref.tmp5, %"class.boost::unit_test::lazy_ostream"* %call8, %"struct.boost::test_tools::tt_detail::print_helper_t.46"* %ref.tmp9)
          to label %invoke.cont11 unwind label %lpad6

invoke.cont11:                                    ; preds = %invoke.cont10
  %13 = bitcast %"class.boost::unit_test::lazy_ostream_impl.45"* %ref.tmp5 to %"class.boost::unit_test::lazy_ostream"*
  %call14 = invoke zeroext i1 (%"class.boost::test_tools::predicate_result"*, %"class.boost::unit_test::lazy_ostream"*, %"class.boost::unit_test::basic_cstring"*, i32, i32, i32, i32, ...)* @_ZN5boost10test_tools9tt_detail10check_implERKNS0_16predicate_resultERKNS_9unit_test12lazy_ostreamENS5_13basic_cstringIKcEEjNS1_10tool_levelENS1_10check_typeEjz(%"class.boost::test_tools::predicate_result"* %ref.tmp, %"class.boost::unit_test::lazy_ostream"* %2, %"class.boost::unit_test::basic_cstring"* byval align 4 %agg.tmp, i32 %5, i32 %6, i32 %7, i32 2, i8* %8, %"class.boost::unit_test::lazy_ostream"* %10, i8* %11, %"class.boost::unit_test::lazy_ostream"* %13)
          to label %invoke.cont13 unwind label %lpad12

invoke.cont13:                                    ; preds = %invoke.cont11
  invoke void @_ZN5boost9unit_test17lazy_ostream_implIRKNS_10test_tools9tt_detail14print_helper_tISt12_Ios_IostateEEED1Ev(%"class.boost::unit_test::lazy_ostream_impl.45"* %ref.tmp5)
          to label %invoke.cont15 unwind label %lpad6

invoke.cont15:                                    ; preds = %invoke.cont13
  invoke void @_ZN5boost9unit_test17lazy_ostream_implIRKNS_10test_tools9tt_detail14print_helper_tISt12_Ios_IostateEEED1Ev(%"class.boost::unit_test::lazy_ostream_impl.45"* %ref.tmp1)
          to label %invoke.cont17 unwind label %lpad

invoke.cont17:                                    ; preds = %invoke.cont15
  call void @_ZN5boost10test_tools16predicate_resultD1Ev(%"class.boost::test_tools::predicate_result"* %ref.tmp)
  ret i1 %call14

lpad:                                             ; preds = %invoke.cont15, %invoke.cont3, %invoke.cont, %entry
  %14 = landingpad { i8*, i32 } personality i8* bitcast (i32 (...)* @__gxx_personality_v0 to i8*)
          cleanup
  %15 = extractvalue { i8*, i32 } %14, 0
  store i8* %15, i8** %exn.slot
  %16 = extractvalue { i8*, i32 } %14, 1
  store i32 %16, i32* %ehselector.slot
  br label %ehcleanup19

lpad6:                                            ; preds = %invoke.cont13, %invoke.cont10, %invoke.cont7, %invoke.cont4
  %17 = landingpad { i8*, i32 } personality i8* bitcast (i32 (...)* @__gxx_personality_v0 to i8*)
          cleanup
  %18 = extractvalue { i8*, i32 } %17, 0
  store i8* %18, i8** %exn.slot
  %19 = extractvalue { i8*, i32 } %17, 1
  store i32 %19, i32* %ehselector.slot
  br label %ehcleanup

lpad12:                                           ; preds = %invoke.cont11
  %20 = landingpad { i8*, i32 } personality i8* bitcast (i32 (...)* @__gxx_personality_v0 to i8*)
          cleanup
  %21 = extractvalue { i8*, i32 } %20, 0
  store i8* %21, i8** %exn.slot
  %22 = extractvalue { i8*, i32 } %20, 1
  store i32 %22, i32* %ehselector.slot
  invoke void @_ZN5boost9unit_test17lazy_ostream_implIRKNS_10test_tools9tt_detail14print_helper_tISt12_Ios_IostateEEED1Ev(%"class.boost::unit_test::lazy_ostream_impl.45"* %ref.tmp5)
          to label %invoke.cont16 unwind label %terminate.lpad

invoke.cont16:                                    ; preds = %lpad12
  br label %ehcleanup

ehcleanup:                                        ; preds = %invoke.cont16, %lpad6
  invoke void @_ZN5boost9unit_test17lazy_ostream_implIRKNS_10test_tools9tt_detail14print_helper_tISt12_Ios_IostateEEED1Ev(%"class.boost::unit_test::lazy_ostream_impl.45"* %ref.tmp1)
          to label %invoke.cont18 unwind label %terminate.lpad

invoke.cont18:                                    ; preds = %ehcleanup
  br label %ehcleanup19

ehcleanup19:                                      ; preds = %invoke.cont18, %lpad
  invoke void @_ZN5boost10test_tools16predicate_resultD1Ev(%"class.boost::test_tools::predicate_result"* %ref.tmp)
          to label %invoke.cont20 unwind label %terminate.lpad

invoke.cont20:                                    ; preds = %ehcleanup19
  br label %eh.resume

eh.resume:                                        ; preds = %invoke.cont20
  %exn = load i8** %exn.slot
  %sel = load i32* %ehselector.slot
  %lpad.val = insertvalue { i8*, i32 } undef, i8* %exn, 0
  %lpad.val21 = insertvalue { i8*, i32 } %lpad.val, i32 %sel, 1
  resume { i8*, i32 } %lpad.val21

terminate.lpad:                                   ; preds = %ehcleanup19, %ehcleanup, %lpad12
  %23 = landingpad { i8*, i32 } personality i8* bitcast (i32 (...)* @__gxx_personality_v0 to i8*)
          catch i8* null
  call void @_ZSt9terminatev() noreturn nounwind
  unreachable
}

declare i32 @_ZNKSt9basic_iosIcSt11char_traitsIcEE7rdstateEv(%"class.std::basic_ios"*)

declare zeroext i1 @_ZN5boost10test_tools9tt_detail10check_implERKNS0_16predicate_resultERKNS_9unit_test12lazy_ostreamENS5_13basic_cstringIKcEEjNS1_10tool_levelENS1_10check_typeEjz(%"class.boost::test_tools::predicate_result"*, %"class.boost::unit_test::lazy_ostream"*, %"class.boost::unit_test::basic_cstring"* byval align 4, i32, i32, i32, i32, ...)

define linkonce_odr void @_ZN5boost10test_tools16predicate_resultC1Eb(%"class.boost::test_tools::predicate_result"* %this, i1 zeroext %pv_) unnamed_addr align 2 {
entry:
  %this.addr = alloca %"class.boost::test_tools::predicate_result"*, align 4
  %pv_.addr = alloca i8, align 1
  store %"class.boost::test_tools::predicate_result"* %this, %"class.boost::test_tools::predicate_result"** %this.addr, align 4
  %frombool = zext i1 %pv_ to i8
  store i8 %frombool, i8* %pv_.addr, align 1
  %this1 = load %"class.boost::test_tools::predicate_result"** %this.addr
  %0 = load i8* %pv_.addr, align 1
  %tobool = trunc i8 %0 to i1
  call void @_ZN5boost10test_tools16predicate_resultC2Eb(%"class.boost::test_tools::predicate_result"* %this1, i1 zeroext %tobool)
  ret void
}

declare zeroext i1 @_ZNKSt9basic_iosIcSt11char_traitsIcEE4goodEv(%"class.std::basic_ios"*)

define linkonce_odr void @_ZN5boost9unit_testlsINS0_13basic_cstringIKcEEEENS0_17lazy_ostream_implIRKT_EERKNS0_12lazy_ostreamES8_(%"class.boost::unit_test::lazy_ostream_impl.0"* noalias sret %agg.result, %"class.boost::unit_test::lazy_ostream"* %prev, %"class.boost::unit_test::basic_cstring"* %v) inlinehint {
entry:
  %prev.addr = alloca %"class.boost::unit_test::lazy_ostream"*, align 4
  %v.addr = alloca %"class.boost::unit_test::basic_cstring"*, align 4
  store %"class.boost::unit_test::lazy_ostream"* %prev, %"class.boost::unit_test::lazy_ostream"** %prev.addr, align 4
  store %"class.boost::unit_test::basic_cstring"* %v, %"class.boost::unit_test::basic_cstring"** %v.addr, align 4
  %0 = load %"class.boost::unit_test::lazy_ostream"** %prev.addr, align 4
  %1 = load %"class.boost::unit_test::basic_cstring"** %v.addr, align 4
  call void @_ZN5boost9unit_test17lazy_ostream_implIRKNS0_13basic_cstringIKcEEEC1ERKNS0_12lazy_ostreamES6_(%"class.boost::unit_test::lazy_ostream_impl.0"* %agg.result, %"class.boost::unit_test::lazy_ostream"* %0, %"class.boost::unit_test::basic_cstring"* %1)
  ret void
}

define linkonce_odr void @_ZN5boost9unit_test17lazy_ostream_implIRKNS0_13basic_cstringIKcEEED1Ev(%"class.boost::unit_test::lazy_ostream_impl.0"* %this) unnamed_addr inlinehint align 2 {
entry:
  %this.addr = alloca %"class.boost::unit_test::lazy_ostream_impl.0"*, align 4
  store %"class.boost::unit_test::lazy_ostream_impl.0"* %this, %"class.boost::unit_test::lazy_ostream_impl.0"** %this.addr, align 4
  %this1 = load %"class.boost::unit_test::lazy_ostream_impl.0"** %this.addr
  call void @_ZN5boost9unit_test17lazy_ostream_implIRKNS0_13basic_cstringIKcEEED2Ev(%"class.boost::unit_test::lazy_ostream_impl.0"* %this1)
  ret void
}

define linkonce_odr void @_ZN5boost10test_tools16predicate_resultD1Ev(%"class.boost::test_tools::predicate_result"* %this) unnamed_addr inlinehint align 2 {
entry:
  %this.addr = alloca %"class.boost::test_tools::predicate_result"*, align 4
  store %"class.boost::test_tools::predicate_result"* %this, %"class.boost::test_tools::predicate_result"** %this.addr, align 4
  %this1 = load %"class.boost::test_tools::predicate_result"** %this.addr
  call void @_ZN5boost10test_tools16predicate_resultD2Ev(%"class.boost::test_tools::predicate_result"* %this1)
  ret void
}

define linkonce_odr void @_ZN5boost2io23basic_ios_iostate_saverIcSt11char_traitsIcEEC1ERSt9basic_iosIcS3_E(%"class.boost::io::basic_ios_iostate_saver"* %this, %"class.std::basic_ios"* %s) unnamed_addr align 2 {
entry:
  %this.addr = alloca %"class.boost::io::basic_ios_iostate_saver"*, align 4
  %s.addr = alloca %"class.std::basic_ios"*, align 4
  store %"class.boost::io::basic_ios_iostate_saver"* %this, %"class.boost::io::basic_ios_iostate_saver"** %this.addr, align 4
  store %"class.std::basic_ios"* %s, %"class.std::basic_ios"** %s.addr, align 4
  %this1 = load %"class.boost::io::basic_ios_iostate_saver"** %this.addr
  %0 = load %"class.std::basic_ios"** %s.addr
  call void @_ZN5boost2io23basic_ios_iostate_saverIcSt11char_traitsIcEEC2ERSt9basic_iosIcS3_E(%"class.boost::io::basic_ios_iostate_saver"* %this1, %"class.std::basic_ios"* %0)
  ret void
}

declare %"class.std::basic_istream"* @_ZStrsIcSt11char_traitsIcEERSt13basic_istreamIT_T0_ES6_RS3_(%"class.std::basic_istream"*, i8*)

define linkonce_odr i32 @_ZStorSt12_Ios_IostateS_(i32 %__a, i32 %__b) nounwind inlinehint {
entry:
  %__a.addr = alloca i32, align 4
  %__b.addr = alloca i32, align 4
  store i32 %__a, i32* %__a.addr, align 4
  store i32 %__b, i32* %__b.addr, align 4
  %0 = load i32* %__a.addr, align 4
  %1 = load i32* %__b.addr, align 4
  %or = or i32 %0, %1
  ret i32 %or
}

declare zeroext i1 @_ZNKSt9basic_iosIcSt11char_traitsIcEE3eofEv(%"class.std::basic_ios"*)

declare zeroext i1 @_ZNKSt9basic_iosIcSt11char_traitsIcEE4failEv(%"class.std::basic_ios"*)

declare zeroext i1 @_ZNKSt9basic_iosIcSt11char_traitsIcEE3badEv(%"class.std::basic_ios"*)

define linkonce_odr void @_ZN5boost2io23basic_ios_iostate_saverIcSt11char_traitsIcEED1Ev(%"class.boost::io::basic_ios_iostate_saver"* %this) unnamed_addr align 2 {
entry:
  %this.addr = alloca %"class.boost::io::basic_ios_iostate_saver"*, align 4
  store %"class.boost::io::basic_ios_iostate_saver"* %this, %"class.boost::io::basic_ios_iostate_saver"** %this.addr, align 4
  %this1 = load %"class.boost::io::basic_ios_iostate_saver"** %this.addr
  call void @_ZN5boost2io23basic_ios_iostate_saverIcSt11char_traitsIcEED2Ev(%"class.boost::io::basic_ios_iostate_saver"* %this1)
  ret void
}

define linkonce_odr void @_ZN5boost2io23basic_ios_iostate_saverIcSt11char_traitsIcEEC1ERSt9basic_iosIcS3_ERKSt12_Ios_Iostate(%"class.boost::io::basic_ios_iostate_saver"* %this, %"class.std::basic_ios"* %s, i32* %a) unnamed_addr align 2 {
entry:
  %this.addr = alloca %"class.boost::io::basic_ios_iostate_saver"*, align 4
  %s.addr = alloca %"class.std::basic_ios"*, align 4
  %a.addr = alloca i32*, align 4
  store %"class.boost::io::basic_ios_iostate_saver"* %this, %"class.boost::io::basic_ios_iostate_saver"** %this.addr, align 4
  store %"class.std::basic_ios"* %s, %"class.std::basic_ios"** %s.addr, align 4
  store i32* %a, i32** %a.addr, align 4
  %this1 = load %"class.boost::io::basic_ios_iostate_saver"** %this.addr
  %0 = load i32** %a.addr
  %1 = load %"class.std::basic_ios"** %s.addr
  call void @_ZN5boost2io23basic_ios_iostate_saverIcSt11char_traitsIcEEC2ERSt9basic_iosIcS3_ERKSt12_Ios_Iostate(%"class.boost::io::basic_ios_iostate_saver"* %this1, %"class.std::basic_ios"* %1, i32* %0)
  ret void
}

declare void @_ZNSt9basic_iosIcSt11char_traitsIcEE8setstateESt12_Ios_Iostate(%"class.std::basic_ios"*, i32)

define void @_Z29ios_exception_saver_unit_testv() {
entry:
  %ss = alloca %"class.std::basic_stringstream", align 4
  %agg.tmp = alloca %"class.boost::unit_test::basic_cstring", align 4
  %exn.slot = alloca i8*
  %ehselector.slot = alloca i32
  %agg.tmp1 = alloca %"class.boost::unit_test::basic_cstring", align 4
  %agg.tmp4 = alloca %"struct.boost::test_tools::tt_detail::equal_impl_frwd", align 1
  %ref.tmp = alloca %"class.boost::unit_test::lazy_ostream_impl", align 4
  %agg.tmp8 = alloca %"class.boost::unit_test::basic_cstring", align 4
  %ref.tmp13 = alloca i32, align 4
  %ies = alloca %"class.boost::io::basic_ios_exception_saver", align 4
  %agg.tmp24 = alloca %"class.boost::unit_test::basic_cstring", align 4
  %agg.tmp27 = alloca %"class.boost::unit_test::basic_cstring", align 4
  %agg.tmp30 = alloca %"struct.boost::test_tools::tt_detail::equal_impl_frwd", align 1
  %ref.tmp31 = alloca %"class.boost::unit_test::lazy_ostream_impl", align 4
  %agg.tmp35 = alloca %"class.boost::unit_test::basic_cstring", align 4
  %ref.tmp44 = alloca i32, align 4
  %agg.tmp58 = alloca %"class.boost::unit_test::basic_cstring", align 4
  %agg.tmp60 = alloca %"class.boost::unit_test::basic_cstring", align 4
  %agg.tmp63 = alloca %"struct.boost::test_tools::tt_detail::equal_impl_frwd", align 1
  %ref.tmp64 = alloca %"class.boost::unit_test::lazy_ostream_impl", align 4
  %agg.tmp68 = alloca %"class.boost::unit_test::basic_cstring", align 4
  %ref.tmp77 = alloca i32, align 4
  %iis = alloca %"class.boost::io::basic_ios_iostate_saver", align 4
  %c = alloca i8, align 1
  %agg.tmp90 = alloca %"class.boost::unit_test::basic_cstring", align 4
  %agg.tmp93 = alloca %"class.boost::unit_test::basic_cstring", align 4
  %agg.tmp99 = alloca %"class.boost::unit_test::basic_cstring", align 4
  %agg.tmp101 = alloca %"class.boost::unit_test::basic_cstring", align 4
  %ref.tmp104 = alloca %"class.boost::test_tools::predicate_result", align 4
  %ref.tmp106 = alloca %"class.boost::unit_test::lazy_ostream_impl.1", align 4
  %agg.tmp111 = alloca %"class.boost::unit_test::basic_cstring", align 4
  %ex = alloca %"class.std::ios_base::failure"*, align 4
  %agg.tmp126 = alloca %"class.boost::unit_test::basic_cstring", align 4
  %agg.tmp128 = alloca %"class.boost::unit_test::basic_cstring", align 4
  %ref.tmp131 = alloca %"class.boost::test_tools::predicate_result", align 4
  %ref.tmp133 = alloca %"class.boost::unit_test::lazy_ostream_impl.2", align 4
  %agg.tmp138 = alloca %"class.boost::unit_test::basic_cstring", align 4
  %agg.tmp163 = alloca %"class.boost::unit_test::basic_cstring", align 4
  %agg.tmp165 = alloca %"class.boost::unit_test::basic_cstring", align 4
  %agg.tmp168 = alloca %"struct.boost::test_tools::tt_detail::equal_impl_frwd", align 1
  %ref.tmp169 = alloca %"class.boost::unit_test::lazy_ostream_impl", align 4
  %agg.tmp173 = alloca %"class.boost::unit_test::basic_cstring", align 4
  %ref.tmp182 = alloca i32, align 4
  %ies191 = alloca %"class.boost::io::basic_ios_exception_saver", align 4
  %agg.tmp198 = alloca %"class.boost::unit_test::basic_cstring", align 4
  %agg.tmp201 = alloca %"class.boost::unit_test::basic_cstring", align 4
  %agg.tmp204 = alloca %"struct.boost::test_tools::tt_detail::equal_impl_frwd", align 1
  %ref.tmp205 = alloca %"class.boost::unit_test::lazy_ostream_impl", align 4
  %agg.tmp209 = alloca %"class.boost::unit_test::basic_cstring", align 4
  %ref.tmp218 = alloca i32, align 4
  %agg.tmp233 = alloca %"class.boost::unit_test::basic_cstring", align 4
  %agg.tmp235 = alloca %"class.boost::unit_test::basic_cstring", align 4
  %agg.tmp238 = alloca %"struct.boost::test_tools::tt_detail::equal_impl_frwd", align 1
  %ref.tmp239 = alloca %"class.boost::unit_test::lazy_ostream_impl", align 4
  %agg.tmp243 = alloca %"class.boost::unit_test::basic_cstring", align 4
  %ref.tmp252 = alloca i32, align 4
  %iis261 = alloca %"class.boost::io::basic_ios_iostate_saver", align 4
  %c267 = alloca i8, align 1
  %agg.tmp272 = alloca %"class.boost::unit_test::basic_cstring", align 4
  %agg.tmp274 = alloca %"class.boost::unit_test::basic_cstring", align 4
  %ref.tmp277 = alloca %"class.boost::test_tools::predicate_result", align 4
  %ref.tmp279 = alloca %"class.boost::unit_test::lazy_ostream_impl.3", align 4
  %agg.tmp284 = alloca %"class.boost::unit_test::basic_cstring", align 4
  %agg.tmp301 = alloca %"class.boost::unit_test::basic_cstring", align 4
  %agg.tmp304 = alloca %"class.boost::unit_test::basic_cstring", align 4
  %ref.tmp307 = alloca %"class.boost::test_tools::predicate_result", align 4
  %ref.tmp309 = alloca %"class.boost::unit_test::lazy_ostream_impl.4", align 4
  %agg.tmp314 = alloca %"class.boost::unit_test::basic_cstring", align 4
  %agg.tmp340 = alloca %"class.boost::unit_test::basic_cstring", align 4
  %agg.tmp342 = alloca %"class.boost::unit_test::basic_cstring", align 4
  %agg.tmp345 = alloca %"struct.boost::test_tools::tt_detail::equal_impl_frwd", align 1
  %ref.tmp346 = alloca %"class.boost::unit_test::lazy_ostream_impl", align 4
  %agg.tmp350 = alloca %"class.boost::unit_test::basic_cstring", align 4
  %ref.tmp359 = alloca i32, align 4
  %call = call i32 @_ZStorSt13_Ios_OpenmodeS_(i32 16, i32 8)
  call void @_ZNSt18basic_stringstreamIcSt11char_traitsIcESaIcEEC1ESt13_Ios_Openmode(%"class.std::basic_stringstream"* %ss, i32 %call)
  br label %do.body

do.body:                                          ; preds = %do.cond, %entry
  %0 = load %"class.boost::unit_test::unit_test_log_t"** @_ZN5boost9unit_test12_GLOBAL__N_113unit_test_logE, align 4
  invoke void @_ZN5boost9unit_test13basic_cstringIKcEC1EPS2_j(%"class.boost::unit_test::basic_cstring"* %agg.tmp, i8* getelementptr inbounds ([24 x i8]* @.str, i32 0, i32 0), i32 23)
          to label %invoke.cont unwind label %lpad

invoke.cont:                                      ; preds = %do.body
  invoke void @_ZN5boost9unit_test13basic_cstringIKcEC1Ev(%"class.boost::unit_test::basic_cstring"* %agg.tmp1)
          to label %invoke.cont2 unwind label %lpad

invoke.cont2:                                     ; preds = %invoke.cont
  invoke void @_ZN5boost9unit_test15unit_test_log_t14set_checkpointENS0_13basic_cstringIKcEEjS4_(%"class.boost::unit_test::unit_test_log_t"* %0, %"class.boost::unit_test::basic_cstring"* byval align 4 %agg.tmp, i32 217, %"class.boost::unit_test::basic_cstring"* byval align 4 %agg.tmp1)
          to label %invoke.cont3 unwind label %lpad

invoke.cont3:                                     ; preds = %invoke.cont2
  %call6 = invoke %"class.boost::unit_test::lazy_ostream"* @_ZN5boost9unit_test12lazy_ostream8instanceEv()
          to label %invoke.cont5 unwind label %lpad

invoke.cont5:                                     ; preds = %invoke.cont3
  invoke void @_ZN5boost9unit_testlsIA1_cEENS0_17lazy_ostream_implIRKT_EERKNS0_12lazy_ostreamES6_(%"class.boost::unit_test::lazy_ostream_impl"* sret %ref.tmp, %"class.boost::unit_test::lazy_ostream"* %call6, [1 x i8]* @.str3)
          to label %invoke.cont7 unwind label %lpad

invoke.cont7:                                     ; preds = %invoke.cont5
  %1 = bitcast %"class.boost::unit_test::lazy_ostream_impl"* %ref.tmp to %"class.boost::unit_test::lazy_ostream"*
  invoke void @_ZN5boost9unit_test13basic_cstringIKcEC1EPS2_j(%"class.boost::unit_test::basic_cstring"* %agg.tmp8, i8* getelementptr inbounds ([24 x i8]* @.str, i32 0, i32 0), i32 23)
          to label %invoke.cont10 unwind label %lpad9

invoke.cont10:                                    ; preds = %invoke.cont7
  %2 = bitcast %"class.std::basic_stringstream"* %ss to i8**
  %vtable = load i8** %2
  %vbase.offset.ptr = getelementptr i8* %vtable, i64 -12
  %3 = bitcast i8* %vbase.offset.ptr to i32*
  %vbase.offset = load i32* %3
  %4 = bitcast %"class.std::basic_stringstream"* %ss to i8*
  %add.ptr = getelementptr inbounds i8* %4, i32 %vbase.offset
  %5 = bitcast i8* %add.ptr to %"class.std::basic_ios"*
  %call12 = invoke i32 @_ZNKSt9basic_iosIcSt11char_traitsIcEE10exceptionsEv(%"class.std::basic_ios"* %5)
          to label %invoke.cont11 unwind label %lpad9

invoke.cont11:                                    ; preds = %invoke.cont10
  store i32 %call12, i32* %ref.tmp13, align 4
  %call15 = invoke zeroext i1 @_ZN5boost10test_tools9tt_detail10check_frwdINS1_15equal_impl_frwdESt12_Ios_IostateS4_EEbT_RKNS_9unit_test12lazy_ostreamENS6_13basic_cstringIKcEEjNS1_10tool_levelENS1_10check_typeERKT0_PSB_RKT1_SI_(%"class.boost::unit_test::lazy_ostream"* %1, %"class.boost::unit_test::basic_cstring"* byval align 4 %agg.tmp8, i32 217, i32 1, i32 2, i32* @_ZNSt8ios_base7goodbitE, i8* getelementptr inbounds ([18 x i8]* @.str16, i32 0, i32 0), i32* %ref.tmp13, i8* getelementptr inbounds ([16 x i8]* @.str26, i32 0, i32 0))
          to label %invoke.cont14 unwind label %lpad9

invoke.cont14:                                    ; preds = %invoke.cont11
  invoke void @_ZN5boost9unit_test17lazy_ostream_implIRA1_KcED1Ev(%"class.boost::unit_test::lazy_ostream_impl"* %ref.tmp)
          to label %invoke.cont16 unwind label %lpad

invoke.cont16:                                    ; preds = %invoke.cont14
  br label %do.cond

do.cond:                                          ; preds = %invoke.cont16
  %6 = load i8* @_ZN5boost10test_tools12_GLOBAL__N_110dummy_condE, align 1
  %tobool = trunc i8 %6 to i1
  br i1 %tobool, label %do.body, label %do.end

do.end:                                           ; preds = %do.cond
  %7 = bitcast %"class.std::basic_stringstream"* %ss to i8**
  %vtable18 = load i8** %7
  %vbase.offset.ptr19 = getelementptr i8* %vtable18, i64 -12
  %8 = bitcast i8* %vbase.offset.ptr19 to i32*
  %vbase.offset20 = load i32* %8
  %9 = bitcast %"class.std::basic_stringstream"* %ss to i8*
  %add.ptr21 = getelementptr inbounds i8* %9, i32 %vbase.offset20
  %10 = bitcast i8* %add.ptr21 to %"class.std::basic_ios"*
  invoke void @_ZN5boost2io25basic_ios_exception_saverIcSt11char_traitsIcEEC1ERSt9basic_iosIcS3_E(%"class.boost::io::basic_ios_exception_saver"* %ies, %"class.std::basic_ios"* %10)
          to label %invoke.cont22 unwind label %lpad

invoke.cont22:                                    ; preds = %do.end
  br label %do.body23

do.body23:                                        ; preds = %do.cond49, %invoke.cont22
  %11 = load %"class.boost::unit_test::unit_test_log_t"** @_ZN5boost9unit_test12_GLOBAL__N_113unit_test_logE, align 4
  invoke void @_ZN5boost9unit_test13basic_cstringIKcEC1EPS2_j(%"class.boost::unit_test::basic_cstring"* %agg.tmp24, i8* getelementptr inbounds ([24 x i8]* @.str, i32 0, i32 0), i32 23)
          to label %invoke.cont26 unwind label %lpad25

invoke.cont26:                                    ; preds = %do.body23
  invoke void @_ZN5boost9unit_test13basic_cstringIKcEC1Ev(%"class.boost::unit_test::basic_cstring"* %agg.tmp27)
          to label %invoke.cont28 unwind label %lpad25

invoke.cont28:                                    ; preds = %invoke.cont26
  invoke void @_ZN5boost9unit_test15unit_test_log_t14set_checkpointENS0_13basic_cstringIKcEEjS4_(%"class.boost::unit_test::unit_test_log_t"* %11, %"class.boost::unit_test::basic_cstring"* byval align 4 %agg.tmp24, i32 222, %"class.boost::unit_test::basic_cstring"* byval align 4 %agg.tmp27)
          to label %invoke.cont29 unwind label %lpad25

invoke.cont29:                                    ; preds = %invoke.cont28
  %call33 = invoke %"class.boost::unit_test::lazy_ostream"* @_ZN5boost9unit_test12lazy_ostream8instanceEv()
          to label %invoke.cont32 unwind label %lpad25

invoke.cont32:                                    ; preds = %invoke.cont29
  invoke void @_ZN5boost9unit_testlsIA1_cEENS0_17lazy_ostream_implIRKT_EERKNS0_12lazy_ostreamES6_(%"class.boost::unit_test::lazy_ostream_impl"* sret %ref.tmp31, %"class.boost::unit_test::lazy_ostream"* %call33, [1 x i8]* @.str3)
          to label %invoke.cont34 unwind label %lpad25

invoke.cont34:                                    ; preds = %invoke.cont32
  %12 = bitcast %"class.boost::unit_test::lazy_ostream_impl"* %ref.tmp31 to %"class.boost::unit_test::lazy_ostream"*
  invoke void @_ZN5boost9unit_test13basic_cstringIKcEC1EPS2_j(%"class.boost::unit_test::basic_cstring"* %agg.tmp35, i8* getelementptr inbounds ([24 x i8]* @.str, i32 0, i32 0), i32 23)
          to label %invoke.cont37 unwind label %lpad36

invoke.cont37:                                    ; preds = %invoke.cont34
  %13 = bitcast %"class.std::basic_stringstream"* %ss to i8**
  %vtable38 = load i8** %13
  %vbase.offset.ptr39 = getelementptr i8* %vtable38, i64 -12
  %14 = bitcast i8* %vbase.offset.ptr39 to i32*
  %vbase.offset40 = load i32* %14
  %15 = bitcast %"class.std::basic_stringstream"* %ss to i8*
  %add.ptr41 = getelementptr inbounds i8* %15, i32 %vbase.offset40
  %16 = bitcast i8* %add.ptr41 to %"class.std::basic_ios"*
  %call43 = invoke i32 @_ZNKSt9basic_iosIcSt11char_traitsIcEE10exceptionsEv(%"class.std::basic_ios"* %16)
          to label %invoke.cont42 unwind label %lpad36

invoke.cont42:                                    ; preds = %invoke.cont37
  store i32 %call43, i32* %ref.tmp44, align 4
  %call46 = invoke zeroext i1 @_ZN5boost10test_tools9tt_detail10check_frwdINS1_15equal_impl_frwdESt12_Ios_IostateS4_EEbT_RKNS_9unit_test12lazy_ostreamENS6_13basic_cstringIKcEEjNS1_10tool_levelENS1_10check_typeERKT0_PSB_RKT1_SI_(%"class.boost::unit_test::lazy_ostream"* %12, %"class.boost::unit_test::basic_cstring"* byval align 4 %agg.tmp35, i32 222, i32 1, i32 2, i32* @_ZNSt8ios_base7goodbitE, i8* getelementptr inbounds ([18 x i8]* @.str16, i32 0, i32 0), i32* %ref.tmp44, i8* getelementptr inbounds ([16 x i8]* @.str26, i32 0, i32 0))
          to label %invoke.cont45 unwind label %lpad36

invoke.cont45:                                    ; preds = %invoke.cont42
  invoke void @_ZN5boost9unit_test17lazy_ostream_implIRA1_KcED1Ev(%"class.boost::unit_test::lazy_ostream_impl"* %ref.tmp31)
          to label %invoke.cont47 unwind label %lpad25

invoke.cont47:                                    ; preds = %invoke.cont45
  br label %do.cond49

do.cond49:                                        ; preds = %invoke.cont47
  %17 = load i8* @_ZN5boost10test_tools12_GLOBAL__N_110dummy_condE, align 1
  %tobool50 = trunc i8 %17 to i1
  br i1 %tobool50, label %do.body23, label %do.end51

do.end51:                                         ; preds = %do.cond49
  %18 = bitcast %"class.std::basic_stringstream"* %ss to i8**
  %vtable52 = load i8** %18
  %vbase.offset.ptr53 = getelementptr i8* %vtable52, i64 -12
  %19 = bitcast i8* %vbase.offset.ptr53 to i32*
  %vbase.offset54 = load i32* %19
  %20 = bitcast %"class.std::basic_stringstream"* %ss to i8*
  %add.ptr55 = getelementptr inbounds i8* %20, i32 %vbase.offset54
  %21 = bitcast i8* %add.ptr55 to %"class.std::basic_ios"*
  invoke void @_ZNSt9basic_iosIcSt11char_traitsIcEE10exceptionsESt12_Ios_Iostate(%"class.std::basic_ios"* %21, i32 4)
          to label %invoke.cont56 unwind label %lpad25

invoke.cont56:                                    ; preds = %do.end51
  br label %do.body57

do.body57:                                        ; preds = %do.cond82, %invoke.cont56
  %22 = load %"class.boost::unit_test::unit_test_log_t"** @_ZN5boost9unit_test12_GLOBAL__N_113unit_test_logE, align 4
  invoke void @_ZN5boost9unit_test13basic_cstringIKcEC1EPS2_j(%"class.boost::unit_test::basic_cstring"* %agg.tmp58, i8* getelementptr inbounds ([24 x i8]* @.str, i32 0, i32 0), i32 23)
          to label %invoke.cont59 unwind label %lpad25

invoke.cont59:                                    ; preds = %do.body57
  invoke void @_ZN5boost9unit_test13basic_cstringIKcEC1Ev(%"class.boost::unit_test::basic_cstring"* %agg.tmp60)
          to label %invoke.cont61 unwind label %lpad25

invoke.cont61:                                    ; preds = %invoke.cont59
  invoke void @_ZN5boost9unit_test15unit_test_log_t14set_checkpointENS0_13basic_cstringIKcEEjS4_(%"class.boost::unit_test::unit_test_log_t"* %22, %"class.boost::unit_test::basic_cstring"* byval align 4 %agg.tmp58, i32 225, %"class.boost::unit_test::basic_cstring"* byval align 4 %agg.tmp60)
          to label %invoke.cont62 unwind label %lpad25

invoke.cont62:                                    ; preds = %invoke.cont61
  %call66 = invoke %"class.boost::unit_test::lazy_ostream"* @_ZN5boost9unit_test12lazy_ostream8instanceEv()
          to label %invoke.cont65 unwind label %lpad25

invoke.cont65:                                    ; preds = %invoke.cont62
  invoke void @_ZN5boost9unit_testlsIA1_cEENS0_17lazy_ostream_implIRKT_EERKNS0_12lazy_ostreamES6_(%"class.boost::unit_test::lazy_ostream_impl"* sret %ref.tmp64, %"class.boost::unit_test::lazy_ostream"* %call66, [1 x i8]* @.str3)
          to label %invoke.cont67 unwind label %lpad25

invoke.cont67:                                    ; preds = %invoke.cont65
  %23 = bitcast %"class.boost::unit_test::lazy_ostream_impl"* %ref.tmp64 to %"class.boost::unit_test::lazy_ostream"*
  invoke void @_ZN5boost9unit_test13basic_cstringIKcEC1EPS2_j(%"class.boost::unit_test::basic_cstring"* %agg.tmp68, i8* getelementptr inbounds ([24 x i8]* @.str, i32 0, i32 0), i32 23)
          to label %invoke.cont70 unwind label %lpad69

invoke.cont70:                                    ; preds = %invoke.cont67
  %24 = bitcast %"class.std::basic_stringstream"* %ss to i8**
  %vtable71 = load i8** %24
  %vbase.offset.ptr72 = getelementptr i8* %vtable71, i64 -12
  %25 = bitcast i8* %vbase.offset.ptr72 to i32*
  %vbase.offset73 = load i32* %25
  %26 = bitcast %"class.std::basic_stringstream"* %ss to i8*
  %add.ptr74 = getelementptr inbounds i8* %26, i32 %vbase.offset73
  %27 = bitcast i8* %add.ptr74 to %"class.std::basic_ios"*
  %call76 = invoke i32 @_ZNKSt9basic_iosIcSt11char_traitsIcEE10exceptionsEv(%"class.std::basic_ios"* %27)
          to label %invoke.cont75 unwind label %lpad69

invoke.cont75:                                    ; preds = %invoke.cont70
  store i32 %call76, i32* %ref.tmp77, align 4
  %call79 = invoke zeroext i1 @_ZN5boost10test_tools9tt_detail10check_frwdINS1_15equal_impl_frwdESt12_Ios_IostateS4_EEbT_RKNS_9unit_test12lazy_ostreamENS6_13basic_cstringIKcEEjNS1_10tool_levelENS1_10check_typeERKT0_PSB_RKT1_SI_(%"class.boost::unit_test::lazy_ostream"* %23, %"class.boost::unit_test::basic_cstring"* byval align 4 %agg.tmp68, i32 225, i32 1, i32 2, i32* @_ZNSt8ios_base7failbitE, i8* getelementptr inbounds ([18 x i8]* @.str27, i32 0, i32 0), i32* %ref.tmp77, i8* getelementptr inbounds ([16 x i8]* @.str26, i32 0, i32 0))
          to label %invoke.cont78 unwind label %lpad69

invoke.cont78:                                    ; preds = %invoke.cont75
  invoke void @_ZN5boost9unit_test17lazy_ostream_implIRA1_KcED1Ev(%"class.boost::unit_test::lazy_ostream_impl"* %ref.tmp64)
          to label %invoke.cont80 unwind label %lpad25

invoke.cont80:                                    ; preds = %invoke.cont78
  br label %do.cond82

do.cond82:                                        ; preds = %invoke.cont80
  %28 = load i8* @_ZN5boost10test_tools12_GLOBAL__N_110dummy_condE, align 1
  %tobool83 = trunc i8 %28 to i1
  br i1 %tobool83, label %do.body57, label %do.end84

do.end84:                                         ; preds = %do.cond82
  %29 = bitcast %"class.std::basic_stringstream"* %ss to i8**
  %vtable85 = load i8** %29
  %vbase.offset.ptr86 = getelementptr i8* %vtable85, i64 -12
  %30 = bitcast i8* %vbase.offset.ptr86 to i32*
  %vbase.offset87 = load i32* %30
  %31 = bitcast %"class.std::basic_stringstream"* %ss to i8*
  %add.ptr88 = getelementptr inbounds i8* %31, i32 %vbase.offset87
  %32 = bitcast i8* %add.ptr88 to %"class.std::basic_ios"*
  invoke void @_ZN5boost2io23basic_ios_iostate_saverIcSt11char_traitsIcEEC1ERSt9basic_iosIcS3_E(%"class.boost::io::basic_ios_iostate_saver"* %iis, %"class.std::basic_ios"* %32)
          to label %invoke.cont89 unwind label %lpad25

invoke.cont89:                                    ; preds = %do.end84
  %33 = load %"class.boost::unit_test::unit_test_log_t"** @_ZN5boost9unit_test12_GLOBAL__N_113unit_test_logE, align 4
  invoke void @_ZN5boost9unit_test13basic_cstringIKcEC1EPS2_j(%"class.boost::unit_test::basic_cstring"* %agg.tmp90, i8* getelementptr inbounds ([24 x i8]* @.str, i32 0, i32 0), i32 23)
          to label %invoke.cont92 unwind label %lpad91

invoke.cont92:                                    ; preds = %invoke.cont89
  invoke void @_ZN5boost9unit_test13basic_cstringIKcEC1Ev(%"class.boost::unit_test::basic_cstring"* %agg.tmp93)
          to label %invoke.cont94 unwind label %lpad91

invoke.cont94:                                    ; preds = %invoke.cont92
  invoke void @_ZN5boost9unit_test15unit_test_log_t14set_checkpointENS0_13basic_cstringIKcEEjS4_(%"class.boost::unit_test::unit_test_log_t"* %33, %"class.boost::unit_test::basic_cstring"* byval align 4 %agg.tmp90, i32 231, %"class.boost::unit_test::basic_cstring"* byval align 4 %agg.tmp93)
          to label %invoke.cont95 unwind label %lpad91

invoke.cont95:                                    ; preds = %invoke.cont94
  %34 = bitcast %"class.std::basic_stringstream"* %ss to %"class.std::basic_istream"*
  %call97 = invoke %"class.std::basic_istream"* @_ZStrsIcSt11char_traitsIcEERSt13basic_istreamIT_T0_ES6_RS3_(%"class.std::basic_istream"* %34, i8* %c)
          to label %invoke.cont96 unwind label %lpad91

invoke.cont96:                                    ; preds = %invoke.cont95
  br label %do.body98

do.body98:                                        ; preds = %do.cond120, %invoke.cont96
  %35 = load %"class.boost::unit_test::unit_test_log_t"** @_ZN5boost9unit_test12_GLOBAL__N_113unit_test_logE, align 4
  invoke void @_ZN5boost9unit_test13basic_cstringIKcEC1EPS2_j(%"class.boost::unit_test::basic_cstring"* %agg.tmp99, i8* getelementptr inbounds ([24 x i8]* @.str, i32 0, i32 0), i32 23)
          to label %invoke.cont100 unwind label %lpad91

invoke.cont100:                                   ; preds = %do.body98
  invoke void @_ZN5boost9unit_test13basic_cstringIKcEC1Ev(%"class.boost::unit_test::basic_cstring"* %agg.tmp101)
          to label %invoke.cont102 unwind label %lpad91

invoke.cont102:                                   ; preds = %invoke.cont100
  invoke void @_ZN5boost9unit_test15unit_test_log_t14set_checkpointENS0_13basic_cstringIKcEEjS4_(%"class.boost::unit_test::unit_test_log_t"* %35, %"class.boost::unit_test::basic_cstring"* byval align 4 %agg.tmp99, i32 231, %"class.boost::unit_test::basic_cstring"* byval align 4 %agg.tmp101)
          to label %invoke.cont103 unwind label %lpad91

invoke.cont103:                                   ; preds = %invoke.cont102
  invoke void @_ZN5boost10test_tools16predicate_resultC1Eb(%"class.boost::test_tools::predicate_result"* %ref.tmp104, i1 zeroext false)
          to label %invoke.cont105 unwind label %lpad91

invoke.cont105:                                   ; preds = %invoke.cont103
  %call109 = invoke %"class.boost::unit_test::lazy_ostream"* @_ZN5boost9unit_test12lazy_ostream8instanceEv()
          to label %invoke.cont108 unwind label %lpad107

invoke.cont108:                                   ; preds = %invoke.cont105
  invoke void @_ZN5boost9unit_testlsIA45_cEENS0_17lazy_ostream_implIRKT_EERKNS0_12lazy_ostreamES6_(%"class.boost::unit_test::lazy_ostream_impl.1"* sret %ref.tmp106, %"class.boost::unit_test::lazy_ostream"* %call109, [45 x i8]* @.str28)
          to label %invoke.cont110 unwind label %lpad107

invoke.cont110:                                   ; preds = %invoke.cont108
  %36 = bitcast %"class.boost::unit_test::lazy_ostream_impl.1"* %ref.tmp106 to %"class.boost::unit_test::lazy_ostream"*
  invoke void @_ZN5boost9unit_test13basic_cstringIKcEC1EPS2_j(%"class.boost::unit_test::basic_cstring"* %agg.tmp111, i8* getelementptr inbounds ([24 x i8]* @.str, i32 0, i32 0), i32 23)
          to label %invoke.cont113 unwind label %lpad112

invoke.cont113:                                   ; preds = %invoke.cont110
  %call115 = invoke zeroext i1 (%"class.boost::test_tools::predicate_result"*, %"class.boost::unit_test::lazy_ostream"*, %"class.boost::unit_test::basic_cstring"*, i32, i32, i32, i32, ...)* @_ZN5boost10test_tools9tt_detail10check_implERKNS0_16predicate_resultERKNS_9unit_test12lazy_ostreamENS5_13basic_cstringIKcEEjNS1_10tool_levelENS1_10check_typeEjz(%"class.boost::test_tools::predicate_result"* %ref.tmp104, %"class.boost::unit_test::lazy_ostream"* %36, %"class.boost::unit_test::basic_cstring"* byval align 4 %agg.tmp111, i32 231, i32 1, i32 1, i32 0)
          to label %invoke.cont114 unwind label %lpad112

invoke.cont114:                                   ; preds = %invoke.cont113
  invoke void @_ZN5boost9unit_test17lazy_ostream_implIRA45_KcED1Ev(%"class.boost::unit_test::lazy_ostream_impl.1"* %ref.tmp106)
          to label %invoke.cont116 unwind label %lpad107

invoke.cont116:                                   ; preds = %invoke.cont114
  invoke void @_ZN5boost10test_tools16predicate_resultD1Ev(%"class.boost::test_tools::predicate_result"* %ref.tmp104)
          to label %invoke.cont118 unwind label %lpad91

invoke.cont118:                                   ; preds = %invoke.cont116
  br label %do.cond120

do.cond120:                                       ; preds = %invoke.cont118
  %37 = load i8* @_ZN5boost10test_tools12_GLOBAL__N_110dummy_condE, align 1
  %tobool121 = trunc i8 %37 to i1
  br i1 %tobool121, label %do.body98, label %do.end122

do.end122:                                        ; preds = %do.cond120
  br label %try.cont

lpad:                                             ; preds = %invoke.cont360, %invoke.cont347, %invoke.cont344, %invoke.cont343, %invoke.cont341, %do.body339, %invoke.cont333, %do.end190, %invoke.cont183, %invoke.cont170, %invoke.cont167, %invoke.cont166, %invoke.cont164, %do.body162, %invoke.cont156, %do.end, %invoke.cont14, %invoke.cont5, %invoke.cont3, %invoke.cont2, %invoke.cont, %do.body
  %38 = landingpad { i8*, i32 } personality i8* bitcast (i32 (...)* @__gxx_personality_v0 to i8*)
          cleanup
  %39 = extractvalue { i8*, i32 } %38, 0
  store i8* %39, i8** %exn.slot
  %40 = extractvalue { i8*, i32 } %38, 1
  store i32 %40, i32* %ehselector.slot
  br label %ehcleanup368

lpad9:                                            ; preds = %invoke.cont11, %invoke.cont10, %invoke.cont7
  %41 = landingpad { i8*, i32 } personality i8* bitcast (i32 (...)* @__gxx_personality_v0 to i8*)
          cleanup
  %42 = extractvalue { i8*, i32 } %41, 0
  store i8* %42, i8** %exn.slot
  %43 = extractvalue { i8*, i32 } %41, 1
  store i32 %43, i32* %ehselector.slot
  invoke void @_ZN5boost9unit_test17lazy_ostream_implIRA1_KcED1Ev(%"class.boost::unit_test::lazy_ostream_impl"* %ref.tmp)
          to label %invoke.cont17 unwind label %terminate.lpad

invoke.cont17:                                    ; preds = %lpad9
  br label %ehcleanup368

lpad25:                                           ; preds = %try.cont, %do.end84, %invoke.cont78, %invoke.cont65, %invoke.cont62, %invoke.cont61, %invoke.cont59, %do.body57, %do.end51, %invoke.cont45, %invoke.cont32, %invoke.cont29, %invoke.cont28, %invoke.cont26, %do.body23
  %44 = landingpad { i8*, i32 } personality i8* bitcast (i32 (...)* @__gxx_personality_v0 to i8*)
          cleanup
  %45 = extractvalue { i8*, i32 } %44, 0
  store i8* %45, i8** %exn.slot
  %46 = extractvalue { i8*, i32 } %44, 1
  store i32 %46, i32* %ehselector.slot
  br label %ehcleanup160

lpad36:                                           ; preds = %invoke.cont42, %invoke.cont37, %invoke.cont34
  %47 = landingpad { i8*, i32 } personality i8* bitcast (i32 (...)* @__gxx_personality_v0 to i8*)
          cleanup
  %48 = extractvalue { i8*, i32 } %47, 0
  store i8* %48, i8** %exn.slot
  %49 = extractvalue { i8*, i32 } %47, 1
  store i32 %49, i32* %ehselector.slot
  invoke void @_ZN5boost9unit_test17lazy_ostream_implIRA1_KcED1Ev(%"class.boost::unit_test::lazy_ostream_impl"* %ref.tmp31)
          to label %invoke.cont48 unwind label %terminate.lpad

invoke.cont48:                                    ; preds = %lpad36
  br label %ehcleanup160

lpad69:                                           ; preds = %invoke.cont75, %invoke.cont70, %invoke.cont67
  %50 = landingpad { i8*, i32 } personality i8* bitcast (i32 (...)* @__gxx_personality_v0 to i8*)
          cleanup
  %51 = extractvalue { i8*, i32 } %50, 0
  store i8* %51, i8** %exn.slot
  %52 = extractvalue { i8*, i32 } %50, 1
  store i32 %52, i32* %ehselector.slot
  invoke void @_ZN5boost9unit_test17lazy_ostream_implIRA1_KcED1Ev(%"class.boost::unit_test::lazy_ostream_impl"* %ref.tmp64)
          to label %invoke.cont81 unwind label %terminate.lpad

invoke.cont81:                                    ; preds = %lpad69
  br label %ehcleanup160

lpad91:                                           ; preds = %invoke.cont116, %invoke.cont103, %invoke.cont102, %invoke.cont100, %do.body98, %invoke.cont95, %invoke.cont94, %invoke.cont92, %invoke.cont89
  %53 = landingpad { i8*, i32 } personality i8* bitcast (i32 (...)* @__gxx_personality_v0 to i8*)
          cleanup
          catch i8* bitcast (i8** @_ZTINSt8ios_base7failureE to i8*)
  %54 = extractvalue { i8*, i32 } %53, 0
  store i8* %54, i8** %exn.slot
  %55 = extractvalue { i8*, i32 } %53, 1
  store i32 %55, i32* %ehselector.slot
  br label %catch.dispatch

lpad107:                                          ; preds = %invoke.cont114, %invoke.cont108, %invoke.cont105
  %56 = landingpad { i8*, i32 } personality i8* bitcast (i32 (...)* @__gxx_personality_v0 to i8*)
          cleanup
          catch i8* bitcast (i8** @_ZTINSt8ios_base7failureE to i8*)
  %57 = extractvalue { i8*, i32 } %56, 0
  store i8* %57, i8** %exn.slot
  %58 = extractvalue { i8*, i32 } %56, 1
  store i32 %58, i32* %ehselector.slot
  br label %ehcleanup

lpad112:                                          ; preds = %invoke.cont113, %invoke.cont110
  %59 = landingpad { i8*, i32 } personality i8* bitcast (i32 (...)* @__gxx_personality_v0 to i8*)
          cleanup
          catch i8* bitcast (i8** @_ZTINSt8ios_base7failureE to i8*)
  %60 = extractvalue { i8*, i32 } %59, 0
  store i8* %60, i8** %exn.slot
  %61 = extractvalue { i8*, i32 } %59, 1
  store i32 %61, i32* %ehselector.slot
  invoke void @_ZN5boost9unit_test17lazy_ostream_implIRA45_KcED1Ev(%"class.boost::unit_test::lazy_ostream_impl.1"* %ref.tmp106)
          to label %invoke.cont117 unwind label %terminate.lpad

invoke.cont117:                                   ; preds = %lpad112
  br label %ehcleanup

ehcleanup:                                        ; preds = %invoke.cont117, %lpad107
  invoke void @_ZN5boost10test_tools16predicate_resultD1Ev(%"class.boost::test_tools::predicate_result"* %ref.tmp104)
          to label %invoke.cont119 unwind label %terminate.lpad

invoke.cont119:                                   ; preds = %ehcleanup
  br label %catch.dispatch

catch.dispatch:                                   ; preds = %invoke.cont119, %lpad91
  %sel = load i32* %ehselector.slot
  %62 = call i32 @llvm.eh.typeid.for(i8* bitcast (i8** @_ZTINSt8ios_base7failureE to i8*)) nounwind
  %matches = icmp eq i32 %sel, %62
  br i1 %matches, label %catch, label %ehcleanup157

catch:                                            ; preds = %catch.dispatch
  %exn = load i8** %exn.slot
  %63 = call i8* @__cxa_begin_catch(i8* %exn) nounwind
  %exn.byref = bitcast i8* %63 to %"class.std::ios_base::failure"*
  store %"class.std::ios_base::failure"* %exn.byref, %"class.std::ios_base::failure"** %ex
  %64 = load %"class.std::ios_base::failure"** %ex, align 4
  invoke void @_ZN5boost9unit_test9ut_detail30ignore_unused_variable_warningINSt8ios_base7failureEEEvRKT_(%"class.std::ios_base::failure"* %64)
          to label %invoke.cont124 unwind label %lpad123

invoke.cont124:                                   ; preds = %catch
  br label %do.body125

do.body125:                                       ; preds = %do.cond149, %invoke.cont124
  %65 = load %"class.boost::unit_test::unit_test_log_t"** @_ZN5boost9unit_test12_GLOBAL__N_113unit_test_logE, align 4
  invoke void @_ZN5boost9unit_test13basic_cstringIKcEC1EPS2_j(%"class.boost::unit_test::basic_cstring"* %agg.tmp126, i8* getelementptr inbounds ([24 x i8]* @.str, i32 0, i32 0), i32 23)
          to label %invoke.cont127 unwind label %lpad123

invoke.cont127:                                   ; preds = %do.body125
  invoke void @_ZN5boost9unit_test13basic_cstringIKcEC1Ev(%"class.boost::unit_test::basic_cstring"* %agg.tmp128)
          to label %invoke.cont129 unwind label %lpad123

invoke.cont129:                                   ; preds = %invoke.cont127
  invoke void @_ZN5boost9unit_test15unit_test_log_t14set_checkpointENS0_13basic_cstringIKcEEjS4_(%"class.boost::unit_test::unit_test_log_t"* %65, %"class.boost::unit_test::basic_cstring"* byval align 4 %agg.tmp126, i32 231, %"class.boost::unit_test::basic_cstring"* byval align 4 %agg.tmp128)
          to label %invoke.cont130 unwind label %lpad123

invoke.cont130:                                   ; preds = %invoke.cont129
  invoke void @_ZN5boost10test_tools16predicate_resultC1Eb(%"class.boost::test_tools::predicate_result"* %ref.tmp131, i1 zeroext true)
          to label %invoke.cont132 unwind label %lpad123

invoke.cont132:                                   ; preds = %invoke.cont130
  %call136 = invoke %"class.boost::unit_test::lazy_ostream"* @_ZN5boost9unit_test12lazy_ostream8instanceEv()
          to label %invoke.cont135 unwind label %lpad134

invoke.cont135:                                   ; preds = %invoke.cont132
  invoke void @_ZN5boost9unit_testlsIA43_cEENS0_17lazy_ostream_implIRKT_EERKNS0_12lazy_ostreamES6_(%"class.boost::unit_test::lazy_ostream_impl.2"* sret %ref.tmp133, %"class.boost::unit_test::lazy_ostream"* %call136, [43 x i8]* @.str29)
          to label %invoke.cont137 unwind label %lpad134

invoke.cont137:                                   ; preds = %invoke.cont135
  %66 = bitcast %"class.boost::unit_test::lazy_ostream_impl.2"* %ref.tmp133 to %"class.boost::unit_test::lazy_ostream"*
  invoke void @_ZN5boost9unit_test13basic_cstringIKcEC1EPS2_j(%"class.boost::unit_test::basic_cstring"* %agg.tmp138, i8* getelementptr inbounds ([24 x i8]* @.str, i32 0, i32 0), i32 23)
          to label %invoke.cont140 unwind label %lpad139

invoke.cont140:                                   ; preds = %invoke.cont137
  %call142 = invoke zeroext i1 (%"class.boost::test_tools::predicate_result"*, %"class.boost::unit_test::lazy_ostream"*, %"class.boost::unit_test::basic_cstring"*, i32, i32, i32, i32, ...)* @_ZN5boost10test_tools9tt_detail10check_implERKNS0_16predicate_resultERKNS_9unit_test12lazy_ostreamENS5_13basic_cstringIKcEEjNS1_10tool_levelENS1_10check_typeEjz(%"class.boost::test_tools::predicate_result"* %ref.tmp131, %"class.boost::unit_test::lazy_ostream"* %66, %"class.boost::unit_test::basic_cstring"* byval align 4 %agg.tmp138, i32 231, i32 1, i32 1, i32 0)
          to label %invoke.cont141 unwind label %lpad139

invoke.cont141:                                   ; preds = %invoke.cont140
  invoke void @_ZN5boost9unit_test17lazy_ostream_implIRA43_KcED1Ev(%"class.boost::unit_test::lazy_ostream_impl.2"* %ref.tmp133)
          to label %invoke.cont143 unwind label %lpad134

invoke.cont143:                                   ; preds = %invoke.cont141
  invoke void @_ZN5boost10test_tools16predicate_resultD1Ev(%"class.boost::test_tools::predicate_result"* %ref.tmp131)
          to label %invoke.cont146 unwind label %lpad123

invoke.cont146:                                   ; preds = %invoke.cont143
  br label %do.cond149

do.cond149:                                       ; preds = %invoke.cont146
  %67 = load i8* @_ZN5boost10test_tools12_GLOBAL__N_110dummy_condE, align 1
  %tobool150 = trunc i8 %67 to i1
  br i1 %tobool150, label %do.body125, label %do.end151

do.end151:                                        ; preds = %do.cond149
  invoke void @__cxa_end_catch()
          to label %invoke.cont153 unwind label %lpad152

invoke.cont153:                                   ; preds = %do.end151
  br label %try.cont

try.cont:                                         ; preds = %invoke.cont153, %do.end122
  invoke void @_ZN5boost2io23basic_ios_iostate_saverIcSt11char_traitsIcEED1Ev(%"class.boost::io::basic_ios_iostate_saver"* %iis)
          to label %invoke.cont156 unwind label %lpad25

invoke.cont156:                                   ; preds = %try.cont
  invoke void @_ZN5boost2io25basic_ios_exception_saverIcSt11char_traitsIcEED1Ev(%"class.boost::io::basic_ios_exception_saver"* %ies)
          to label %invoke.cont159 unwind label %lpad

invoke.cont159:                                   ; preds = %invoke.cont156
  br label %do.body162

do.body162:                                       ; preds = %do.cond188, %invoke.cont159
  %68 = load %"class.boost::unit_test::unit_test_log_t"** @_ZN5boost9unit_test12_GLOBAL__N_113unit_test_logE, align 4
  invoke void @_ZN5boost9unit_test13basic_cstringIKcEC1EPS2_j(%"class.boost::unit_test::basic_cstring"* %agg.tmp163, i8* getelementptr inbounds ([24 x i8]* @.str, i32 0, i32 0), i32 23)
          to label %invoke.cont164 unwind label %lpad

invoke.cont164:                                   ; preds = %do.body162
  invoke void @_ZN5boost9unit_test13basic_cstringIKcEC1Ev(%"class.boost::unit_test::basic_cstring"* %agg.tmp165)
          to label %invoke.cont166 unwind label %lpad

invoke.cont166:                                   ; preds = %invoke.cont164
  invoke void @_ZN5boost9unit_test15unit_test_log_t14set_checkpointENS0_13basic_cstringIKcEEjS4_(%"class.boost::unit_test::unit_test_log_t"* %68, %"class.boost::unit_test::basic_cstring"* byval align 4 %agg.tmp163, i32 235, %"class.boost::unit_test::basic_cstring"* byval align 4 %agg.tmp165)
          to label %invoke.cont167 unwind label %lpad

invoke.cont167:                                   ; preds = %invoke.cont166
  %call171 = invoke %"class.boost::unit_test::lazy_ostream"* @_ZN5boost9unit_test12lazy_ostream8instanceEv()
          to label %invoke.cont170 unwind label %lpad

invoke.cont170:                                   ; preds = %invoke.cont167
  invoke void @_ZN5boost9unit_testlsIA1_cEENS0_17lazy_ostream_implIRKT_EERKNS0_12lazy_ostreamES6_(%"class.boost::unit_test::lazy_ostream_impl"* sret %ref.tmp169, %"class.boost::unit_test::lazy_ostream"* %call171, [1 x i8]* @.str3)
          to label %invoke.cont172 unwind label %lpad

invoke.cont172:                                   ; preds = %invoke.cont170
  %69 = bitcast %"class.boost::unit_test::lazy_ostream_impl"* %ref.tmp169 to %"class.boost::unit_test::lazy_ostream"*
  invoke void @_ZN5boost9unit_test13basic_cstringIKcEC1EPS2_j(%"class.boost::unit_test::basic_cstring"* %agg.tmp173, i8* getelementptr inbounds ([24 x i8]* @.str, i32 0, i32 0), i32 23)
          to label %invoke.cont175 unwind label %lpad174

invoke.cont175:                                   ; preds = %invoke.cont172
  %70 = bitcast %"class.std::basic_stringstream"* %ss to i8**
  %vtable176 = load i8** %70
  %vbase.offset.ptr177 = getelementptr i8* %vtable176, i64 -12
  %71 = bitcast i8* %vbase.offset.ptr177 to i32*
  %vbase.offset178 = load i32* %71
  %72 = bitcast %"class.std::basic_stringstream"* %ss to i8*
  %add.ptr179 = getelementptr inbounds i8* %72, i32 %vbase.offset178
  %73 = bitcast i8* %add.ptr179 to %"class.std::basic_ios"*
  %call181 = invoke i32 @_ZNKSt9basic_iosIcSt11char_traitsIcEE10exceptionsEv(%"class.std::basic_ios"* %73)
          to label %invoke.cont180 unwind label %lpad174

invoke.cont180:                                   ; preds = %invoke.cont175
  store i32 %call181, i32* %ref.tmp182, align 4
  %call184 = invoke zeroext i1 @_ZN5boost10test_tools9tt_detail10check_frwdINS1_15equal_impl_frwdESt12_Ios_IostateS4_EEbT_RKNS_9unit_test12lazy_ostreamENS6_13basic_cstringIKcEEjNS1_10tool_levelENS1_10check_typeERKT0_PSB_RKT1_SI_(%"class.boost::unit_test::lazy_ostream"* %69, %"class.boost::unit_test::basic_cstring"* byval align 4 %agg.tmp173, i32 235, i32 1, i32 2, i32* @_ZNSt8ios_base7goodbitE, i8* getelementptr inbounds ([18 x i8]* @.str16, i32 0, i32 0), i32* %ref.tmp182, i8* getelementptr inbounds ([16 x i8]* @.str26, i32 0, i32 0))
          to label %invoke.cont183 unwind label %lpad174

invoke.cont183:                                   ; preds = %invoke.cont180
  invoke void @_ZN5boost9unit_test17lazy_ostream_implIRA1_KcED1Ev(%"class.boost::unit_test::lazy_ostream_impl"* %ref.tmp169)
          to label %invoke.cont185 unwind label %lpad

invoke.cont185:                                   ; preds = %invoke.cont183
  br label %do.cond188

do.cond188:                                       ; preds = %invoke.cont185
  %74 = load i8* @_ZN5boost10test_tools12_GLOBAL__N_110dummy_condE, align 1
  %tobool189 = trunc i8 %74 to i1
  br i1 %tobool189, label %do.body162, label %do.end190

do.end190:                                        ; preds = %do.cond188
  %75 = bitcast %"class.std::basic_stringstream"* %ss to i8**
  %vtable192 = load i8** %75
  %vbase.offset.ptr193 = getelementptr i8* %vtable192, i64 -12
  %76 = bitcast i8* %vbase.offset.ptr193 to i32*
  %vbase.offset194 = load i32* %76
  %77 = bitcast %"class.std::basic_stringstream"* %ss to i8*
  %add.ptr195 = getelementptr inbounds i8* %77, i32 %vbase.offset194
  %78 = bitcast i8* %add.ptr195 to %"class.std::basic_ios"*
  invoke void @_ZN5boost2io25basic_ios_exception_saverIcSt11char_traitsIcEEC1ERSt9basic_iosIcS3_ERKSt12_Ios_Iostate(%"class.boost::io::basic_ios_exception_saver"* %ies191, %"class.std::basic_ios"* %78, i32* @_ZNSt8ios_base6eofbitE)
          to label %invoke.cont196 unwind label %lpad

invoke.cont196:                                   ; preds = %do.end190
  br label %do.body197

do.body197:                                       ; preds = %do.cond224, %invoke.cont196
  %79 = load %"class.boost::unit_test::unit_test_log_t"** @_ZN5boost9unit_test12_GLOBAL__N_113unit_test_logE, align 4
  invoke void @_ZN5boost9unit_test13basic_cstringIKcEC1EPS2_j(%"class.boost::unit_test::basic_cstring"* %agg.tmp198, i8* getelementptr inbounds ([24 x i8]* @.str, i32 0, i32 0), i32 23)
          to label %invoke.cont200 unwind label %lpad199

invoke.cont200:                                   ; preds = %do.body197
  invoke void @_ZN5boost9unit_test13basic_cstringIKcEC1Ev(%"class.boost::unit_test::basic_cstring"* %agg.tmp201)
          to label %invoke.cont202 unwind label %lpad199

invoke.cont202:                                   ; preds = %invoke.cont200
  invoke void @_ZN5boost9unit_test15unit_test_log_t14set_checkpointENS0_13basic_cstringIKcEEjS4_(%"class.boost::unit_test::unit_test_log_t"* %79, %"class.boost::unit_test::basic_cstring"* byval align 4 %agg.tmp198, i32 240, %"class.boost::unit_test::basic_cstring"* byval align 4 %agg.tmp201)
          to label %invoke.cont203 unwind label %lpad199

invoke.cont203:                                   ; preds = %invoke.cont202
  %call207 = invoke %"class.boost::unit_test::lazy_ostream"* @_ZN5boost9unit_test12lazy_ostream8instanceEv()
          to label %invoke.cont206 unwind label %lpad199

invoke.cont206:                                   ; preds = %invoke.cont203
  invoke void @_ZN5boost9unit_testlsIA1_cEENS0_17lazy_ostream_implIRKT_EERKNS0_12lazy_ostreamES6_(%"class.boost::unit_test::lazy_ostream_impl"* sret %ref.tmp205, %"class.boost::unit_test::lazy_ostream"* %call207, [1 x i8]* @.str3)
          to label %invoke.cont208 unwind label %lpad199

invoke.cont208:                                   ; preds = %invoke.cont206
  %80 = bitcast %"class.boost::unit_test::lazy_ostream_impl"* %ref.tmp205 to %"class.boost::unit_test::lazy_ostream"*
  invoke void @_ZN5boost9unit_test13basic_cstringIKcEC1EPS2_j(%"class.boost::unit_test::basic_cstring"* %agg.tmp209, i8* getelementptr inbounds ([24 x i8]* @.str, i32 0, i32 0), i32 23)
          to label %invoke.cont211 unwind label %lpad210

invoke.cont211:                                   ; preds = %invoke.cont208
  %81 = bitcast %"class.std::basic_stringstream"* %ss to i8**
  %vtable212 = load i8** %81
  %vbase.offset.ptr213 = getelementptr i8* %vtable212, i64 -12
  %82 = bitcast i8* %vbase.offset.ptr213 to i32*
  %vbase.offset214 = load i32* %82
  %83 = bitcast %"class.std::basic_stringstream"* %ss to i8*
  %add.ptr215 = getelementptr inbounds i8* %83, i32 %vbase.offset214
  %84 = bitcast i8* %add.ptr215 to %"class.std::basic_ios"*
  %call217 = invoke i32 @_ZNKSt9basic_iosIcSt11char_traitsIcEE10exceptionsEv(%"class.std::basic_ios"* %84)
          to label %invoke.cont216 unwind label %lpad210

invoke.cont216:                                   ; preds = %invoke.cont211
  store i32 %call217, i32* %ref.tmp218, align 4
  %call220 = invoke zeroext i1 @_ZN5boost10test_tools9tt_detail10check_frwdINS1_15equal_impl_frwdESt12_Ios_IostateS4_EEbT_RKNS_9unit_test12lazy_ostreamENS6_13basic_cstringIKcEEjNS1_10tool_levelENS1_10check_typeERKT0_PSB_RKT1_SI_(%"class.boost::unit_test::lazy_ostream"* %80, %"class.boost::unit_test::basic_cstring"* byval align 4 %agg.tmp209, i32 240, i32 1, i32 2, i32* @_ZNSt8ios_base6eofbitE, i8* getelementptr inbounds ([17 x i8]* @.str23, i32 0, i32 0), i32* %ref.tmp218, i8* getelementptr inbounds ([16 x i8]* @.str26, i32 0, i32 0))
          to label %invoke.cont219 unwind label %lpad210

invoke.cont219:                                   ; preds = %invoke.cont216
  invoke void @_ZN5boost9unit_test17lazy_ostream_implIRA1_KcED1Ev(%"class.boost::unit_test::lazy_ostream_impl"* %ref.tmp205)
          to label %invoke.cont221 unwind label %lpad199

invoke.cont221:                                   ; preds = %invoke.cont219
  br label %do.cond224

do.cond224:                                       ; preds = %invoke.cont221
  %85 = load i8* @_ZN5boost10test_tools12_GLOBAL__N_110dummy_condE, align 1
  %tobool225 = trunc i8 %85 to i1
  br i1 %tobool225, label %do.body197, label %do.end226

do.end226:                                        ; preds = %do.cond224
  %86 = bitcast %"class.std::basic_stringstream"* %ss to i8**
  %vtable227 = load i8** %86
  %vbase.offset.ptr228 = getelementptr i8* %vtable227, i64 -12
  %87 = bitcast i8* %vbase.offset.ptr228 to i32*
  %vbase.offset229 = load i32* %87
  %88 = bitcast %"class.std::basic_stringstream"* %ss to i8*
  %add.ptr230 = getelementptr inbounds i8* %88, i32 %vbase.offset229
  %89 = bitcast i8* %add.ptr230 to %"class.std::basic_ios"*
  invoke void @_ZNSt9basic_iosIcSt11char_traitsIcEE10exceptionsESt12_Ios_Iostate(%"class.std::basic_ios"* %89, i32 1)
          to label %invoke.cont231 unwind label %lpad199

invoke.cont231:                                   ; preds = %do.end226
  br label %do.body232

do.body232:                                       ; preds = %do.cond258, %invoke.cont231
  %90 = load %"class.boost::unit_test::unit_test_log_t"** @_ZN5boost9unit_test12_GLOBAL__N_113unit_test_logE, align 4
  invoke void @_ZN5boost9unit_test13basic_cstringIKcEC1EPS2_j(%"class.boost::unit_test::basic_cstring"* %agg.tmp233, i8* getelementptr inbounds ([24 x i8]* @.str, i32 0, i32 0), i32 23)
          to label %invoke.cont234 unwind label %lpad199

invoke.cont234:                                   ; preds = %do.body232
  invoke void @_ZN5boost9unit_test13basic_cstringIKcEC1Ev(%"class.boost::unit_test::basic_cstring"* %agg.tmp235)
          to label %invoke.cont236 unwind label %lpad199

invoke.cont236:                                   ; preds = %invoke.cont234
  invoke void @_ZN5boost9unit_test15unit_test_log_t14set_checkpointENS0_13basic_cstringIKcEEjS4_(%"class.boost::unit_test::unit_test_log_t"* %90, %"class.boost::unit_test::basic_cstring"* byval align 4 %agg.tmp233, i32 243, %"class.boost::unit_test::basic_cstring"* byval align 4 %agg.tmp235)
          to label %invoke.cont237 unwind label %lpad199

invoke.cont237:                                   ; preds = %invoke.cont236
  %call241 = invoke %"class.boost::unit_test::lazy_ostream"* @_ZN5boost9unit_test12lazy_ostream8instanceEv()
          to label %invoke.cont240 unwind label %lpad199

invoke.cont240:                                   ; preds = %invoke.cont237
  invoke void @_ZN5boost9unit_testlsIA1_cEENS0_17lazy_ostream_implIRKT_EERKNS0_12lazy_ostreamES6_(%"class.boost::unit_test::lazy_ostream_impl"* sret %ref.tmp239, %"class.boost::unit_test::lazy_ostream"* %call241, [1 x i8]* @.str3)
          to label %invoke.cont242 unwind label %lpad199

invoke.cont242:                                   ; preds = %invoke.cont240
  %91 = bitcast %"class.boost::unit_test::lazy_ostream_impl"* %ref.tmp239 to %"class.boost::unit_test::lazy_ostream"*
  invoke void @_ZN5boost9unit_test13basic_cstringIKcEC1EPS2_j(%"class.boost::unit_test::basic_cstring"* %agg.tmp243, i8* getelementptr inbounds ([24 x i8]* @.str, i32 0, i32 0), i32 23)
          to label %invoke.cont245 unwind label %lpad244

invoke.cont245:                                   ; preds = %invoke.cont242
  %92 = bitcast %"class.std::basic_stringstream"* %ss to i8**
  %vtable246 = load i8** %92
  %vbase.offset.ptr247 = getelementptr i8* %vtable246, i64 -12
  %93 = bitcast i8* %vbase.offset.ptr247 to i32*
  %vbase.offset248 = load i32* %93
  %94 = bitcast %"class.std::basic_stringstream"* %ss to i8*
  %add.ptr249 = getelementptr inbounds i8* %94, i32 %vbase.offset248
  %95 = bitcast i8* %add.ptr249 to %"class.std::basic_ios"*
  %call251 = invoke i32 @_ZNKSt9basic_iosIcSt11char_traitsIcEE10exceptionsEv(%"class.std::basic_ios"* %95)
          to label %invoke.cont250 unwind label %lpad244

invoke.cont250:                                   ; preds = %invoke.cont245
  store i32 %call251, i32* %ref.tmp252, align 4
  %call254 = invoke zeroext i1 @_ZN5boost10test_tools9tt_detail10check_frwdINS1_15equal_impl_frwdESt12_Ios_IostateS4_EEbT_RKNS_9unit_test12lazy_ostreamENS6_13basic_cstringIKcEEjNS1_10tool_levelENS1_10check_typeERKT0_PSB_RKT1_SI_(%"class.boost::unit_test::lazy_ostream"* %91, %"class.boost::unit_test::basic_cstring"* byval align 4 %agg.tmp243, i32 243, i32 1, i32 2, i32* @_ZNSt8ios_base6badbitE, i8* getelementptr inbounds ([17 x i8]* @.str30, i32 0, i32 0), i32* %ref.tmp252, i8* getelementptr inbounds ([16 x i8]* @.str26, i32 0, i32 0))
          to label %invoke.cont253 unwind label %lpad244

invoke.cont253:                                   ; preds = %invoke.cont250
  invoke void @_ZN5boost9unit_test17lazy_ostream_implIRA1_KcED1Ev(%"class.boost::unit_test::lazy_ostream_impl"* %ref.tmp239)
          to label %invoke.cont255 unwind label %lpad199

invoke.cont255:                                   ; preds = %invoke.cont253
  br label %do.cond258

do.cond258:                                       ; preds = %invoke.cont255
  %96 = load i8* @_ZN5boost10test_tools12_GLOBAL__N_110dummy_condE, align 1
  %tobool259 = trunc i8 %96 to i1
  br i1 %tobool259, label %do.body232, label %do.end260

do.end260:                                        ; preds = %do.cond258
  %97 = bitcast %"class.std::basic_stringstream"* %ss to i8**
  %vtable262 = load i8** %97
  %vbase.offset.ptr263 = getelementptr i8* %vtable262, i64 -12
  %98 = bitcast i8* %vbase.offset.ptr263 to i32*
  %vbase.offset264 = load i32* %98
  %99 = bitcast %"class.std::basic_stringstream"* %ss to i8*
  %add.ptr265 = getelementptr inbounds i8* %99, i32 %vbase.offset264
  %100 = bitcast i8* %add.ptr265 to %"class.std::basic_ios"*
  invoke void @_ZN5boost2io23basic_ios_iostate_saverIcSt11char_traitsIcEEC1ERSt9basic_iosIcS3_E(%"class.boost::io::basic_ios_iostate_saver"* %iis261, %"class.std::basic_ios"* %100)
          to label %invoke.cont266 unwind label %lpad199

invoke.cont266:                                   ; preds = %do.end260
  %101 = bitcast %"class.std::basic_stringstream"* %ss to %"class.std::basic_istream"*
  %call270 = invoke %"class.std::basic_istream"* @_ZStrsIcSt11char_traitsIcEERSt13basic_istreamIT_T0_ES6_RS3_(%"class.std::basic_istream"* %101, i8* %c267)
          to label %invoke.cont269 unwind label %lpad268

invoke.cont269:                                   ; preds = %invoke.cont266
  br label %do.body271

do.body271:                                       ; preds = %do.cond295, %invoke.cont269
  %102 = load %"class.boost::unit_test::unit_test_log_t"** @_ZN5boost9unit_test12_GLOBAL__N_113unit_test_logE, align 4
  invoke void @_ZN5boost9unit_test13basic_cstringIKcEC1EPS2_j(%"class.boost::unit_test::basic_cstring"* %agg.tmp272, i8* getelementptr inbounds ([24 x i8]* @.str, i32 0, i32 0), i32 23)
          to label %invoke.cont273 unwind label %lpad268

invoke.cont273:                                   ; preds = %do.body271
  invoke void @_ZN5boost9unit_test13basic_cstringIKcEC1Ev(%"class.boost::unit_test::basic_cstring"* %agg.tmp274)
          to label %invoke.cont275 unwind label %lpad268

invoke.cont275:                                   ; preds = %invoke.cont273
  invoke void @_ZN5boost9unit_test15unit_test_log_t14set_checkpointENS0_13basic_cstringIKcEEjS4_(%"class.boost::unit_test::unit_test_log_t"* %102, %"class.boost::unit_test::basic_cstring"* byval align 4 %agg.tmp272, i32 249, %"class.boost::unit_test::basic_cstring"* byval align 4 %agg.tmp274)
          to label %invoke.cont276 unwind label %lpad268

invoke.cont276:                                   ; preds = %invoke.cont275
  invoke void @_ZN5boost10test_tools16predicate_resultC1Eb(%"class.boost::test_tools::predicate_result"* %ref.tmp277, i1 zeroext true)
          to label %invoke.cont278 unwind label %lpad268

invoke.cont278:                                   ; preds = %invoke.cont276
  %call282 = invoke %"class.boost::unit_test::lazy_ostream"* @_ZN5boost9unit_test12lazy_ostream8instanceEv()
          to label %invoke.cont281 unwind label %lpad280

invoke.cont281:                                   ; preds = %invoke.cont278
  invoke void @_ZN5boost9unit_testlsIA32_cEENS0_17lazy_ostream_implIRKT_EERKNS0_12lazy_ostreamES6_(%"class.boost::unit_test::lazy_ostream_impl.3"* sret %ref.tmp279, %"class.boost::unit_test::lazy_ostream"* %call282, [32 x i8]* @.str31)
          to label %invoke.cont283 unwind label %lpad280

invoke.cont283:                                   ; preds = %invoke.cont281
  %103 = bitcast %"class.boost::unit_test::lazy_ostream_impl.3"* %ref.tmp279 to %"class.boost::unit_test::lazy_ostream"*
  invoke void @_ZN5boost9unit_test13basic_cstringIKcEC1EPS2_j(%"class.boost::unit_test::basic_cstring"* %agg.tmp284, i8* getelementptr inbounds ([24 x i8]* @.str, i32 0, i32 0), i32 23)
          to label %invoke.cont286 unwind label %lpad285

invoke.cont286:                                   ; preds = %invoke.cont283
  %call288 = invoke zeroext i1 (%"class.boost::test_tools::predicate_result"*, %"class.boost::unit_test::lazy_ostream"*, %"class.boost::unit_test::basic_cstring"*, i32, i32, i32, i32, ...)* @_ZN5boost10test_tools9tt_detail10check_implERKNS0_16predicate_resultERKNS_9unit_test12lazy_ostreamENS5_13basic_cstringIKcEEjNS1_10tool_levelENS1_10check_typeEjz(%"class.boost::test_tools::predicate_result"* %ref.tmp277, %"class.boost::unit_test::lazy_ostream"* %103, %"class.boost::unit_test::basic_cstring"* byval align 4 %agg.tmp284, i32 249, i32 1, i32 1, i32 0)
          to label %invoke.cont287 unwind label %lpad285

invoke.cont287:                                   ; preds = %invoke.cont286
  invoke void @_ZN5boost9unit_test17lazy_ostream_implIRA32_KcED1Ev(%"class.boost::unit_test::lazy_ostream_impl.3"* %ref.tmp279)
          to label %invoke.cont289 unwind label %lpad280

invoke.cont289:                                   ; preds = %invoke.cont287
  invoke void @_ZN5boost10test_tools16predicate_resultD1Ev(%"class.boost::test_tools::predicate_result"* %ref.tmp277)
          to label %invoke.cont292 unwind label %lpad268

invoke.cont292:                                   ; preds = %invoke.cont289
  br label %do.cond295

do.cond295:                                       ; preds = %invoke.cont292
  %104 = load i8* @_ZN5boost10test_tools12_GLOBAL__N_110dummy_condE, align 1
  %tobool296 = trunc i8 %104 to i1
  br i1 %tobool296, label %do.body271, label %do.end297

do.end297:                                        ; preds = %do.cond295
  br label %try.cont332

lpad123:                                          ; preds = %invoke.cont143, %invoke.cont130, %invoke.cont129, %invoke.cont127, %do.body125, %catch
  %105 = landingpad { i8*, i32 } personality i8* bitcast (i32 (...)* @__gxx_personality_v0 to i8*)
          cleanup
  %106 = extractvalue { i8*, i32 } %105, 0
  store i8* %106, i8** %exn.slot
  %107 = extractvalue { i8*, i32 } %105, 1
  store i32 %107, i32* %ehselector.slot
  br label %ehcleanup154

lpad134:                                          ; preds = %invoke.cont141, %invoke.cont135, %invoke.cont132
  %108 = landingpad { i8*, i32 } personality i8* bitcast (i32 (...)* @__gxx_personality_v0 to i8*)
          cleanup
  %109 = extractvalue { i8*, i32 } %108, 0
  store i8* %109, i8** %exn.slot
  %110 = extractvalue { i8*, i32 } %108, 1
  store i32 %110, i32* %ehselector.slot
  br label %ehcleanup147

lpad139:                                          ; preds = %invoke.cont140, %invoke.cont137
  %111 = landingpad { i8*, i32 } personality i8* bitcast (i32 (...)* @__gxx_personality_v0 to i8*)
          cleanup
  %112 = extractvalue { i8*, i32 } %111, 0
  store i8* %112, i8** %exn.slot
  %113 = extractvalue { i8*, i32 } %111, 1
  store i32 %113, i32* %ehselector.slot
  invoke void @_ZN5boost9unit_test17lazy_ostream_implIRA43_KcED1Ev(%"class.boost::unit_test::lazy_ostream_impl.2"* %ref.tmp133)
          to label %invoke.cont145 unwind label %terminate.lpad

invoke.cont145:                                   ; preds = %lpad139
  br label %ehcleanup147

ehcleanup147:                                     ; preds = %invoke.cont145, %lpad134
  invoke void @_ZN5boost10test_tools16predicate_resultD1Ev(%"class.boost::test_tools::predicate_result"* %ref.tmp131)
          to label %invoke.cont148 unwind label %terminate.lpad

invoke.cont148:                                   ; preds = %ehcleanup147
  br label %ehcleanup154

lpad152:                                          ; preds = %do.end151
  %114 = landingpad { i8*, i32 } personality i8* bitcast (i32 (...)* @__gxx_personality_v0 to i8*)
          cleanup
  %115 = extractvalue { i8*, i32 } %114, 0
  store i8* %115, i8** %exn.slot
  %116 = extractvalue { i8*, i32 } %114, 1
  store i32 %116, i32* %ehselector.slot
  br label %ehcleanup157

ehcleanup154:                                     ; preds = %invoke.cont148, %lpad123
  invoke void @__cxa_end_catch()
          to label %invoke.cont155 unwind label %terminate.lpad

invoke.cont155:                                   ; preds = %ehcleanup154
  br label %ehcleanup157

ehcleanup157:                                     ; preds = %invoke.cont155, %lpad152, %catch.dispatch
  invoke void @_ZN5boost2io23basic_ios_iostate_saverIcSt11char_traitsIcEED1Ev(%"class.boost::io::basic_ios_iostate_saver"* %iis)
          to label %invoke.cont158 unwind label %terminate.lpad

invoke.cont158:                                   ; preds = %ehcleanup157
  br label %ehcleanup160

ehcleanup160:                                     ; preds = %invoke.cont158, %invoke.cont81, %invoke.cont48, %lpad25
  invoke void @_ZN5boost2io25basic_ios_exception_saverIcSt11char_traitsIcEED1Ev(%"class.boost::io::basic_ios_exception_saver"* %ies)
          to label %invoke.cont161 unwind label %terminate.lpad

invoke.cont161:                                   ; preds = %ehcleanup160
  br label %ehcleanup368

lpad174:                                          ; preds = %invoke.cont180, %invoke.cont175, %invoke.cont172
  %117 = landingpad { i8*, i32 } personality i8* bitcast (i32 (...)* @__gxx_personality_v0 to i8*)
          cleanup
  %118 = extractvalue { i8*, i32 } %117, 0
  store i8* %118, i8** %exn.slot
  %119 = extractvalue { i8*, i32 } %117, 1
  store i32 %119, i32* %ehselector.slot
  invoke void @_ZN5boost9unit_test17lazy_ostream_implIRA1_KcED1Ev(%"class.boost::unit_test::lazy_ostream_impl"* %ref.tmp169)
          to label %invoke.cont187 unwind label %terminate.lpad

invoke.cont187:                                   ; preds = %lpad174
  br label %ehcleanup368

lpad199:                                          ; preds = %try.cont332, %do.end260, %invoke.cont253, %invoke.cont240, %invoke.cont237, %invoke.cont236, %invoke.cont234, %do.body232, %do.end226, %invoke.cont219, %invoke.cont206, %invoke.cont203, %invoke.cont202, %invoke.cont200, %do.body197
  %120 = landingpad { i8*, i32 } personality i8* bitcast (i32 (...)* @__gxx_personality_v0 to i8*)
          cleanup
  %121 = extractvalue { i8*, i32 } %120, 0
  store i8* %121, i8** %exn.slot
  %122 = extractvalue { i8*, i32 } %120, 1
  store i32 %122, i32* %ehselector.slot
  br label %ehcleanup337

lpad210:                                          ; preds = %invoke.cont216, %invoke.cont211, %invoke.cont208
  %123 = landingpad { i8*, i32 } personality i8* bitcast (i32 (...)* @__gxx_personality_v0 to i8*)
          cleanup
  %124 = extractvalue { i8*, i32 } %123, 0
  store i8* %124, i8** %exn.slot
  %125 = extractvalue { i8*, i32 } %123, 1
  store i32 %125, i32* %ehselector.slot
  invoke void @_ZN5boost9unit_test17lazy_ostream_implIRA1_KcED1Ev(%"class.boost::unit_test::lazy_ostream_impl"* %ref.tmp205)
          to label %invoke.cont223 unwind label %terminate.lpad

invoke.cont223:                                   ; preds = %lpad210
  br label %ehcleanup337

lpad244:                                          ; preds = %invoke.cont250, %invoke.cont245, %invoke.cont242
  %126 = landingpad { i8*, i32 } personality i8* bitcast (i32 (...)* @__gxx_personality_v0 to i8*)
          cleanup
  %127 = extractvalue { i8*, i32 } %126, 0
  store i8* %127, i8** %exn.slot
  %128 = extractvalue { i8*, i32 } %126, 1
  store i32 %128, i32* %ehselector.slot
  invoke void @_ZN5boost9unit_test17lazy_ostream_implIRA1_KcED1Ev(%"class.boost::unit_test::lazy_ostream_impl"* %ref.tmp239)
          to label %invoke.cont257 unwind label %terminate.lpad

invoke.cont257:                                   ; preds = %lpad244
  br label %ehcleanup337

lpad268:                                          ; preds = %invoke.cont289, %invoke.cont276, %invoke.cont275, %invoke.cont273, %do.body271, %invoke.cont266
  %129 = landingpad { i8*, i32 } personality i8* bitcast (i32 (...)* @__gxx_personality_v0 to i8*)
          catch i8* null
  %130 = extractvalue { i8*, i32 } %129, 0
  store i8* %130, i8** %exn.slot
  %131 = extractvalue { i8*, i32 } %129, 1
  store i32 %131, i32* %ehselector.slot
  br label %catch298

lpad280:                                          ; preds = %invoke.cont287, %invoke.cont281, %invoke.cont278
  %132 = landingpad { i8*, i32 } personality i8* bitcast (i32 (...)* @__gxx_personality_v0 to i8*)
          catch i8* null
  %133 = extractvalue { i8*, i32 } %132, 0
  store i8* %133, i8** %exn.slot
  %134 = extractvalue { i8*, i32 } %132, 1
  store i32 %134, i32* %ehselector.slot
  br label %ehcleanup293

lpad285:                                          ; preds = %invoke.cont286, %invoke.cont283
  %135 = landingpad { i8*, i32 } personality i8* bitcast (i32 (...)* @__gxx_personality_v0 to i8*)
          catch i8* null
  %136 = extractvalue { i8*, i32 } %135, 0
  store i8* %136, i8** %exn.slot
  %137 = extractvalue { i8*, i32 } %135, 1
  store i32 %137, i32* %ehselector.slot
  invoke void @_ZN5boost9unit_test17lazy_ostream_implIRA32_KcED1Ev(%"class.boost::unit_test::lazy_ostream_impl.3"* %ref.tmp279)
          to label %invoke.cont291 unwind label %terminate.lpad

invoke.cont291:                                   ; preds = %lpad285
  br label %ehcleanup293

ehcleanup293:                                     ; preds = %invoke.cont291, %lpad280
  invoke void @_ZN5boost10test_tools16predicate_resultD1Ev(%"class.boost::test_tools::predicate_result"* %ref.tmp277)
          to label %invoke.cont294 unwind label %terminate.lpad

invoke.cont294:                                   ; preds = %ehcleanup293
  br label %catch298

catch298:                                         ; preds = %invoke.cont294, %lpad268
  %exn299 = load i8** %exn.slot
  %138 = call i8* @__cxa_begin_catch(i8* %exn299) nounwind
  br label %do.body300

do.body300:                                       ; preds = %do.cond325, %catch298
  %139 = load %"class.boost::unit_test::unit_test_log_t"** @_ZN5boost9unit_test12_GLOBAL__N_113unit_test_logE, align 4
  invoke void @_ZN5boost9unit_test13basic_cstringIKcEC1EPS2_j(%"class.boost::unit_test::basic_cstring"* %agg.tmp301, i8* getelementptr inbounds ([24 x i8]* @.str, i32 0, i32 0), i32 23)
          to label %invoke.cont303 unwind label %lpad302

invoke.cont303:                                   ; preds = %do.body300
  invoke void @_ZN5boost9unit_test13basic_cstringIKcEC1Ev(%"class.boost::unit_test::basic_cstring"* %agg.tmp304)
          to label %invoke.cont305 unwind label %lpad302

invoke.cont305:                                   ; preds = %invoke.cont303
  invoke void @_ZN5boost9unit_test15unit_test_log_t14set_checkpointENS0_13basic_cstringIKcEEjS4_(%"class.boost::unit_test::unit_test_log_t"* %139, %"class.boost::unit_test::basic_cstring"* byval align 4 %agg.tmp301, i32 249, %"class.boost::unit_test::basic_cstring"* byval align 4 %agg.tmp304)
          to label %invoke.cont306 unwind label %lpad302

invoke.cont306:                                   ; preds = %invoke.cont305
  invoke void @_ZN5boost10test_tools16predicate_resultC1Eb(%"class.boost::test_tools::predicate_result"* %ref.tmp307, i1 zeroext false)
          to label %invoke.cont308 unwind label %lpad302

invoke.cont308:                                   ; preds = %invoke.cont306
  %call312 = invoke %"class.boost::unit_test::lazy_ostream"* @_ZN5boost9unit_test12lazy_ostream8instanceEv()
          to label %invoke.cont311 unwind label %lpad310

invoke.cont311:                                   ; preds = %invoke.cont308
  invoke void @_ZN5boost9unit_testlsIA28_cEENS0_17lazy_ostream_implIRKT_EERKNS0_12lazy_ostreamES6_(%"class.boost::unit_test::lazy_ostream_impl.4"* sret %ref.tmp309, %"class.boost::unit_test::lazy_ostream"* %call312, [28 x i8]* @.str32)
          to label %invoke.cont313 unwind label %lpad310

invoke.cont313:                                   ; preds = %invoke.cont311
  %140 = bitcast %"class.boost::unit_test::lazy_ostream_impl.4"* %ref.tmp309 to %"class.boost::unit_test::lazy_ostream"*
  invoke void @_ZN5boost9unit_test13basic_cstringIKcEC1EPS2_j(%"class.boost::unit_test::basic_cstring"* %agg.tmp314, i8* getelementptr inbounds ([24 x i8]* @.str, i32 0, i32 0), i32 23)
          to label %invoke.cont316 unwind label %lpad315

invoke.cont316:                                   ; preds = %invoke.cont313
  %call318 = invoke zeroext i1 (%"class.boost::test_tools::predicate_result"*, %"class.boost::unit_test::lazy_ostream"*, %"class.boost::unit_test::basic_cstring"*, i32, i32, i32, i32, ...)* @_ZN5boost10test_tools9tt_detail10check_implERKNS0_16predicate_resultERKNS_9unit_test12lazy_ostreamENS5_13basic_cstringIKcEEjNS1_10tool_levelENS1_10check_typeEjz(%"class.boost::test_tools::predicate_result"* %ref.tmp307, %"class.boost::unit_test::lazy_ostream"* %140, %"class.boost::unit_test::basic_cstring"* byval align 4 %agg.tmp314, i32 249, i32 1, i32 1, i32 0)
          to label %invoke.cont317 unwind label %lpad315

invoke.cont317:                                   ; preds = %invoke.cont316
  invoke void @_ZN5boost9unit_test17lazy_ostream_implIRA28_KcED1Ev(%"class.boost::unit_test::lazy_ostream_impl.4"* %ref.tmp309)
          to label %invoke.cont319 unwind label %lpad310

invoke.cont319:                                   ; preds = %invoke.cont317
  invoke void @_ZN5boost10test_tools16predicate_resultD1Ev(%"class.boost::test_tools::predicate_result"* %ref.tmp307)
          to label %invoke.cont322 unwind label %lpad302

invoke.cont322:                                   ; preds = %invoke.cont319
  br label %do.cond325

do.cond325:                                       ; preds = %invoke.cont322
  %141 = load i8* @_ZN5boost10test_tools12_GLOBAL__N_110dummy_condE, align 1
  %tobool326 = trunc i8 %141 to i1
  br i1 %tobool326, label %do.body300, label %do.end327

do.end327:                                        ; preds = %do.cond325
  invoke void @__cxa_end_catch()
          to label %invoke.cont329 unwind label %lpad328

invoke.cont329:                                   ; preds = %do.end327
  br label %try.cont332

try.cont332:                                      ; preds = %invoke.cont329, %do.end297
  invoke void @_ZN5boost2io23basic_ios_iostate_saverIcSt11char_traitsIcEED1Ev(%"class.boost::io::basic_ios_iostate_saver"* %iis261)
          to label %invoke.cont333 unwind label %lpad199

invoke.cont333:                                   ; preds = %try.cont332
  invoke void @_ZN5boost2io25basic_ios_exception_saverIcSt11char_traitsIcEED1Ev(%"class.boost::io::basic_ios_exception_saver"* %ies191)
          to label %invoke.cont336 unwind label %lpad

invoke.cont336:                                   ; preds = %invoke.cont333
  br label %do.body339

do.body339:                                       ; preds = %do.cond365, %invoke.cont336
  %142 = load %"class.boost::unit_test::unit_test_log_t"** @_ZN5boost9unit_test12_GLOBAL__N_113unit_test_logE, align 4
  invoke void @_ZN5boost9unit_test13basic_cstringIKcEC1EPS2_j(%"class.boost::unit_test::basic_cstring"* %agg.tmp340, i8* getelementptr inbounds ([24 x i8]* @.str, i32 0, i32 0), i32 23)
          to label %invoke.cont341 unwind label %lpad

invoke.cont341:                                   ; preds = %do.body339
  invoke void @_ZN5boost9unit_test13basic_cstringIKcEC1Ev(%"class.boost::unit_test::basic_cstring"* %agg.tmp342)
          to label %invoke.cont343 unwind label %lpad

invoke.cont343:                                   ; preds = %invoke.cont341
  invoke void @_ZN5boost9unit_test15unit_test_log_t14set_checkpointENS0_13basic_cstringIKcEEjS4_(%"class.boost::unit_test::unit_test_log_t"* %142, %"class.boost::unit_test::basic_cstring"* byval align 4 %agg.tmp340, i32 253, %"class.boost::unit_test::basic_cstring"* byval align 4 %agg.tmp342)
          to label %invoke.cont344 unwind label %lpad

invoke.cont344:                                   ; preds = %invoke.cont343
  %call348 = invoke %"class.boost::unit_test::lazy_ostream"* @_ZN5boost9unit_test12lazy_ostream8instanceEv()
          to label %invoke.cont347 unwind label %lpad

invoke.cont347:                                   ; preds = %invoke.cont344
  invoke void @_ZN5boost9unit_testlsIA1_cEENS0_17lazy_ostream_implIRKT_EERKNS0_12lazy_ostreamES6_(%"class.boost::unit_test::lazy_ostream_impl"* sret %ref.tmp346, %"class.boost::unit_test::lazy_ostream"* %call348, [1 x i8]* @.str3)
          to label %invoke.cont349 unwind label %lpad

invoke.cont349:                                   ; preds = %invoke.cont347
  %143 = bitcast %"class.boost::unit_test::lazy_ostream_impl"* %ref.tmp346 to %"class.boost::unit_test::lazy_ostream"*
  invoke void @_ZN5boost9unit_test13basic_cstringIKcEC1EPS2_j(%"class.boost::unit_test::basic_cstring"* %agg.tmp350, i8* getelementptr inbounds ([24 x i8]* @.str, i32 0, i32 0), i32 23)
          to label %invoke.cont352 unwind label %lpad351

invoke.cont352:                                   ; preds = %invoke.cont349
  %144 = bitcast %"class.std::basic_stringstream"* %ss to i8**
  %vtable353 = load i8** %144
  %vbase.offset.ptr354 = getelementptr i8* %vtable353, i64 -12
  %145 = bitcast i8* %vbase.offset.ptr354 to i32*
  %vbase.offset355 = load i32* %145
  %146 = bitcast %"class.std::basic_stringstream"* %ss to i8*
  %add.ptr356 = getelementptr inbounds i8* %146, i32 %vbase.offset355
  %147 = bitcast i8* %add.ptr356 to %"class.std::basic_ios"*
  %call358 = invoke i32 @_ZNKSt9basic_iosIcSt11char_traitsIcEE10exceptionsEv(%"class.std::basic_ios"* %147)
          to label %invoke.cont357 unwind label %lpad351

invoke.cont357:                                   ; preds = %invoke.cont352
  store i32 %call358, i32* %ref.tmp359, align 4
  %call361 = invoke zeroext i1 @_ZN5boost10test_tools9tt_detail10check_frwdINS1_15equal_impl_frwdESt12_Ios_IostateS4_EEbT_RKNS_9unit_test12lazy_ostreamENS6_13basic_cstringIKcEEjNS1_10tool_levelENS1_10check_typeERKT0_PSB_RKT1_SI_(%"class.boost::unit_test::lazy_ostream"* %143, %"class.boost::unit_test::basic_cstring"* byval align 4 %agg.tmp350, i32 253, i32 1, i32 2, i32* @_ZNSt8ios_base7goodbitE, i8* getelementptr inbounds ([18 x i8]* @.str16, i32 0, i32 0), i32* %ref.tmp359, i8* getelementptr inbounds ([16 x i8]* @.str26, i32 0, i32 0))
          to label %invoke.cont360 unwind label %lpad351

invoke.cont360:                                   ; preds = %invoke.cont357
  invoke void @_ZN5boost9unit_test17lazy_ostream_implIRA1_KcED1Ev(%"class.boost::unit_test::lazy_ostream_impl"* %ref.tmp346)
          to label %invoke.cont362 unwind label %lpad

invoke.cont362:                                   ; preds = %invoke.cont360
  br label %do.cond365

do.cond365:                                       ; preds = %invoke.cont362
  %148 = load i8* @_ZN5boost10test_tools12_GLOBAL__N_110dummy_condE, align 1
  %tobool366 = trunc i8 %148 to i1
  br i1 %tobool366, label %do.body339, label %do.end367

do.end367:                                        ; preds = %do.cond365
  call void @_ZNSt18basic_stringstreamIcSt11char_traitsIcESaIcEED1Ev(%"class.std::basic_stringstream"* %ss)
  ret void

lpad302:                                          ; preds = %invoke.cont319, %invoke.cont306, %invoke.cont305, %invoke.cont303, %do.body300
  %149 = landingpad { i8*, i32 } personality i8* bitcast (i32 (...)* @__gxx_personality_v0 to i8*)
          cleanup
  %150 = extractvalue { i8*, i32 } %149, 0
  store i8* %150, i8** %exn.slot
  %151 = extractvalue { i8*, i32 } %149, 1
  store i32 %151, i32* %ehselector.slot
  br label %ehcleanup330

lpad310:                                          ; preds = %invoke.cont317, %invoke.cont311, %invoke.cont308
  %152 = landingpad { i8*, i32 } personality i8* bitcast (i32 (...)* @__gxx_personality_v0 to i8*)
          cleanup
  %153 = extractvalue { i8*, i32 } %152, 0
  store i8* %153, i8** %exn.slot
  %154 = extractvalue { i8*, i32 } %152, 1
  store i32 %154, i32* %ehselector.slot
  br label %ehcleanup323

lpad315:                                          ; preds = %invoke.cont316, %invoke.cont313
  %155 = landingpad { i8*, i32 } personality i8* bitcast (i32 (...)* @__gxx_personality_v0 to i8*)
          cleanup
  %156 = extractvalue { i8*, i32 } %155, 0
  store i8* %156, i8** %exn.slot
  %157 = extractvalue { i8*, i32 } %155, 1
  store i32 %157, i32* %ehselector.slot
  invoke void @_ZN5boost9unit_test17lazy_ostream_implIRA28_KcED1Ev(%"class.boost::unit_test::lazy_ostream_impl.4"* %ref.tmp309)
          to label %invoke.cont321 unwind label %terminate.lpad

invoke.cont321:                                   ; preds = %lpad315
  br label %ehcleanup323

ehcleanup323:                                     ; preds = %invoke.cont321, %lpad310
  invoke void @_ZN5boost10test_tools16predicate_resultD1Ev(%"class.boost::test_tools::predicate_result"* %ref.tmp307)
          to label %invoke.cont324 unwind label %terminate.lpad

invoke.cont324:                                   ; preds = %ehcleanup323
  br label %ehcleanup330

lpad328:                                          ; preds = %do.end327
  %158 = landingpad { i8*, i32 } personality i8* bitcast (i32 (...)* @__gxx_personality_v0 to i8*)
          cleanup
  %159 = extractvalue { i8*, i32 } %158, 0
  store i8* %159, i8** %exn.slot
  %160 = extractvalue { i8*, i32 } %158, 1
  store i32 %160, i32* %ehselector.slot
  br label %ehcleanup334

ehcleanup330:                                     ; preds = %invoke.cont324, %lpad302
  invoke void @__cxa_end_catch()
          to label %invoke.cont331 unwind label %terminate.lpad

invoke.cont331:                                   ; preds = %ehcleanup330
  br label %ehcleanup334

ehcleanup334:                                     ; preds = %invoke.cont331, %lpad328
  invoke void @_ZN5boost2io23basic_ios_iostate_saverIcSt11char_traitsIcEED1Ev(%"class.boost::io::basic_ios_iostate_saver"* %iis261)
          to label %invoke.cont335 unwind label %terminate.lpad

invoke.cont335:                                   ; preds = %ehcleanup334
  br label %ehcleanup337

ehcleanup337:                                     ; preds = %invoke.cont335, %invoke.cont257, %invoke.cont223, %lpad199
  invoke void @_ZN5boost2io25basic_ios_exception_saverIcSt11char_traitsIcEED1Ev(%"class.boost::io::basic_ios_exception_saver"* %ies191)
          to label %invoke.cont338 unwind label %terminate.lpad

invoke.cont338:                                   ; preds = %ehcleanup337
  br label %ehcleanup368

lpad351:                                          ; preds = %invoke.cont357, %invoke.cont352, %invoke.cont349
  %161 = landingpad { i8*, i32 } personality i8* bitcast (i32 (...)* @__gxx_personality_v0 to i8*)
          cleanup
  %162 = extractvalue { i8*, i32 } %161, 0
  store i8* %162, i8** %exn.slot
  %163 = extractvalue { i8*, i32 } %161, 1
  store i32 %163, i32* %ehselector.slot
  invoke void @_ZN5boost9unit_test17lazy_ostream_implIRA1_KcED1Ev(%"class.boost::unit_test::lazy_ostream_impl"* %ref.tmp346)
          to label %invoke.cont364 unwind label %terminate.lpad

invoke.cont364:                                   ; preds = %lpad351
  br label %ehcleanup368

ehcleanup368:                                     ; preds = %invoke.cont364, %invoke.cont338, %invoke.cont187, %invoke.cont161, %invoke.cont17, %lpad
  invoke void @_ZNSt18basic_stringstreamIcSt11char_traitsIcESaIcEED1Ev(%"class.std::basic_stringstream"* %ss)
          to label %invoke.cont369 unwind label %terminate.lpad

invoke.cont369:                                   ; preds = %ehcleanup368
  br label %eh.resume

eh.resume:                                        ; preds = %invoke.cont369
  %exn370 = load i8** %exn.slot
  %sel371 = load i32* %ehselector.slot
  %lpad.val = insertvalue { i8*, i32 } undef, i8* %exn370, 0
  %lpad.val372 = insertvalue { i8*, i32 } %lpad.val, i32 %sel371, 1
  resume { i8*, i32 } %lpad.val372

terminate.lpad:                                   ; preds = %ehcleanup368, %lpad351, %ehcleanup337, %ehcleanup334, %ehcleanup330, %ehcleanup323, %lpad315, %ehcleanup293, %lpad285, %lpad244, %lpad210, %lpad174, %ehcleanup160, %ehcleanup157, %ehcleanup154, %ehcleanup147, %lpad139, %ehcleanup, %lpad112, %lpad69, %lpad36, %lpad9
  %164 = landingpad { i8*, i32 } personality i8* bitcast (i32 (...)* @__gxx_personality_v0 to i8*)
          catch i8* null
  call void @_ZSt9terminatev() noreturn nounwind
  unreachable
}

declare i32 @_ZNKSt9basic_iosIcSt11char_traitsIcEE10exceptionsEv(%"class.std::basic_ios"*)

define linkonce_odr void @_ZN5boost2io25basic_ios_exception_saverIcSt11char_traitsIcEEC1ERSt9basic_iosIcS3_E(%"class.boost::io::basic_ios_exception_saver"* %this, %"class.std::basic_ios"* %s) unnamed_addr align 2 {
entry:
  %this.addr = alloca %"class.boost::io::basic_ios_exception_saver"*, align 4
  %s.addr = alloca %"class.std::basic_ios"*, align 4
  store %"class.boost::io::basic_ios_exception_saver"* %this, %"class.boost::io::basic_ios_exception_saver"** %this.addr, align 4
  store %"class.std::basic_ios"* %s, %"class.std::basic_ios"** %s.addr, align 4
  %this1 = load %"class.boost::io::basic_ios_exception_saver"** %this.addr
  %0 = load %"class.std::basic_ios"** %s.addr
  call void @_ZN5boost2io25basic_ios_exception_saverIcSt11char_traitsIcEEC2ERSt9basic_iosIcS3_E(%"class.boost::io::basic_ios_exception_saver"* %this1, %"class.std::basic_ios"* %0)
  ret void
}

declare void @_ZNSt9basic_iosIcSt11char_traitsIcEE10exceptionsESt12_Ios_Iostate(%"class.std::basic_ios"*, i32)

define linkonce_odr void @_ZN5boost9unit_testlsIA45_cEENS0_17lazy_ostream_implIRKT_EERKNS0_12lazy_ostreamES6_(%"class.boost::unit_test::lazy_ostream_impl.1"* noalias sret %agg.result, %"class.boost::unit_test::lazy_ostream"* %prev, [45 x i8]* %v) inlinehint {
entry:
  %prev.addr = alloca %"class.boost::unit_test::lazy_ostream"*, align 4
  %v.addr = alloca [45 x i8]*, align 4
  store %"class.boost::unit_test::lazy_ostream"* %prev, %"class.boost::unit_test::lazy_ostream"** %prev.addr, align 4
  store [45 x i8]* %v, [45 x i8]** %v.addr, align 4
  %0 = load %"class.boost::unit_test::lazy_ostream"** %prev.addr, align 4
  %1 = load [45 x i8]** %v.addr, align 4
  call void @_ZN5boost9unit_test17lazy_ostream_implIRA45_KcEC1ERKNS0_12lazy_ostreamES4_(%"class.boost::unit_test::lazy_ostream_impl.1"* %agg.result, %"class.boost::unit_test::lazy_ostream"* %0, [45 x i8]* %1)
  ret void
}

define linkonce_odr void @_ZN5boost9unit_test17lazy_ostream_implIRA45_KcED1Ev(%"class.boost::unit_test::lazy_ostream_impl.1"* %this) unnamed_addr inlinehint align 2 {
entry:
  %this.addr = alloca %"class.boost::unit_test::lazy_ostream_impl.1"*, align 4
  store %"class.boost::unit_test::lazy_ostream_impl.1"* %this, %"class.boost::unit_test::lazy_ostream_impl.1"** %this.addr, align 4
  %this1 = load %"class.boost::unit_test::lazy_ostream_impl.1"** %this.addr
  call void @_ZN5boost9unit_test17lazy_ostream_implIRA45_KcED2Ev(%"class.boost::unit_test::lazy_ostream_impl.1"* %this1)
  ret void
}

declare i32 @llvm.eh.typeid.for(i8*) nounwind readnone

declare i8* @__cxa_begin_catch(i8*)

define linkonce_odr void @_ZN5boost9unit_test9ut_detail30ignore_unused_variable_warningINSt8ios_base7failureEEEvRKT_(%"class.std::ios_base::failure"*) nounwind inlinehint {
entry:
  %.addr = alloca %"class.std::ios_base::failure"*, align 4
  store %"class.std::ios_base::failure"* %0, %"class.std::ios_base::failure"** %.addr, align 4
  ret void
}

define linkonce_odr void @_ZN5boost9unit_testlsIA43_cEENS0_17lazy_ostream_implIRKT_EERKNS0_12lazy_ostreamES6_(%"class.boost::unit_test::lazy_ostream_impl.2"* noalias sret %agg.result, %"class.boost::unit_test::lazy_ostream"* %prev, [43 x i8]* %v) inlinehint {
entry:
  %prev.addr = alloca %"class.boost::unit_test::lazy_ostream"*, align 4
  %v.addr = alloca [43 x i8]*, align 4
  store %"class.boost::unit_test::lazy_ostream"* %prev, %"class.boost::unit_test::lazy_ostream"** %prev.addr, align 4
  store [43 x i8]* %v, [43 x i8]** %v.addr, align 4
  %0 = load %"class.boost::unit_test::lazy_ostream"** %prev.addr, align 4
  %1 = load [43 x i8]** %v.addr, align 4
  call void @_ZN5boost9unit_test17lazy_ostream_implIRA43_KcEC1ERKNS0_12lazy_ostreamES4_(%"class.boost::unit_test::lazy_ostream_impl.2"* %agg.result, %"class.boost::unit_test::lazy_ostream"* %0, [43 x i8]* %1)
  ret void
}

define linkonce_odr void @_ZN5boost9unit_test17lazy_ostream_implIRA43_KcED1Ev(%"class.boost::unit_test::lazy_ostream_impl.2"* %this) unnamed_addr inlinehint align 2 {
entry:
  %this.addr = alloca %"class.boost::unit_test::lazy_ostream_impl.2"*, align 4
  store %"class.boost::unit_test::lazy_ostream_impl.2"* %this, %"class.boost::unit_test::lazy_ostream_impl.2"** %this.addr, align 4
  %this1 = load %"class.boost::unit_test::lazy_ostream_impl.2"** %this.addr
  call void @_ZN5boost9unit_test17lazy_ostream_implIRA43_KcED2Ev(%"class.boost::unit_test::lazy_ostream_impl.2"* %this1)
  ret void
}

declare void @__cxa_end_catch()

define linkonce_odr void @_ZN5boost2io25basic_ios_exception_saverIcSt11char_traitsIcEED1Ev(%"class.boost::io::basic_ios_exception_saver"* %this) unnamed_addr align 2 {
entry:
  %this.addr = alloca %"class.boost::io::basic_ios_exception_saver"*, align 4
  store %"class.boost::io::basic_ios_exception_saver"* %this, %"class.boost::io::basic_ios_exception_saver"** %this.addr, align 4
  %this1 = load %"class.boost::io::basic_ios_exception_saver"** %this.addr
  call void @_ZN5boost2io25basic_ios_exception_saverIcSt11char_traitsIcEED2Ev(%"class.boost::io::basic_ios_exception_saver"* %this1)
  ret void
}

define linkonce_odr void @_ZN5boost2io25basic_ios_exception_saverIcSt11char_traitsIcEEC1ERSt9basic_iosIcS3_ERKSt12_Ios_Iostate(%"class.boost::io::basic_ios_exception_saver"* %this, %"class.std::basic_ios"* %s, i32* %a) unnamed_addr align 2 {
entry:
  %this.addr = alloca %"class.boost::io::basic_ios_exception_saver"*, align 4
  %s.addr = alloca %"class.std::basic_ios"*, align 4
  %a.addr = alloca i32*, align 4
  store %"class.boost::io::basic_ios_exception_saver"* %this, %"class.boost::io::basic_ios_exception_saver"** %this.addr, align 4
  store %"class.std::basic_ios"* %s, %"class.std::basic_ios"** %s.addr, align 4
  store i32* %a, i32** %a.addr, align 4
  %this1 = load %"class.boost::io::basic_ios_exception_saver"** %this.addr
  %0 = load i32** %a.addr
  %1 = load %"class.std::basic_ios"** %s.addr
  call void @_ZN5boost2io25basic_ios_exception_saverIcSt11char_traitsIcEEC2ERSt9basic_iosIcS3_ERKSt12_Ios_Iostate(%"class.boost::io::basic_ios_exception_saver"* %this1, %"class.std::basic_ios"* %1, i32* %0)
  ret void
}

define linkonce_odr void @_ZN5boost9unit_testlsIA32_cEENS0_17lazy_ostream_implIRKT_EERKNS0_12lazy_ostreamES6_(%"class.boost::unit_test::lazy_ostream_impl.3"* noalias sret %agg.result, %"class.boost::unit_test::lazy_ostream"* %prev, [32 x i8]* %v) inlinehint {
entry:
  %prev.addr = alloca %"class.boost::unit_test::lazy_ostream"*, align 4
  %v.addr = alloca [32 x i8]*, align 4
  store %"class.boost::unit_test::lazy_ostream"* %prev, %"class.boost::unit_test::lazy_ostream"** %prev.addr, align 4
  store [32 x i8]* %v, [32 x i8]** %v.addr, align 4
  %0 = load %"class.boost::unit_test::lazy_ostream"** %prev.addr, align 4
  %1 = load [32 x i8]** %v.addr, align 4
  call void @_ZN5boost9unit_test17lazy_ostream_implIRA32_KcEC1ERKNS0_12lazy_ostreamES4_(%"class.boost::unit_test::lazy_ostream_impl.3"* %agg.result, %"class.boost::unit_test::lazy_ostream"* %0, [32 x i8]* %1)
  ret void
}

define linkonce_odr void @_ZN5boost9unit_test17lazy_ostream_implIRA32_KcED1Ev(%"class.boost::unit_test::lazy_ostream_impl.3"* %this) unnamed_addr inlinehint align 2 {
entry:
  %this.addr = alloca %"class.boost::unit_test::lazy_ostream_impl.3"*, align 4
  store %"class.boost::unit_test::lazy_ostream_impl.3"* %this, %"class.boost::unit_test::lazy_ostream_impl.3"** %this.addr, align 4
  %this1 = load %"class.boost::unit_test::lazy_ostream_impl.3"** %this.addr
  call void @_ZN5boost9unit_test17lazy_ostream_implIRA32_KcED2Ev(%"class.boost::unit_test::lazy_ostream_impl.3"* %this1)
  ret void
}

define linkonce_odr void @_ZN5boost9unit_testlsIA28_cEENS0_17lazy_ostream_implIRKT_EERKNS0_12lazy_ostreamES6_(%"class.boost::unit_test::lazy_ostream_impl.4"* noalias sret %agg.result, %"class.boost::unit_test::lazy_ostream"* %prev, [28 x i8]* %v) inlinehint {
entry:
  %prev.addr = alloca %"class.boost::unit_test::lazy_ostream"*, align 4
  %v.addr = alloca [28 x i8]*, align 4
  store %"class.boost::unit_test::lazy_ostream"* %prev, %"class.boost::unit_test::lazy_ostream"** %prev.addr, align 4
  store [28 x i8]* %v, [28 x i8]** %v.addr, align 4
  %0 = load %"class.boost::unit_test::lazy_ostream"** %prev.addr, align 4
  %1 = load [28 x i8]** %v.addr, align 4
  call void @_ZN5boost9unit_test17lazy_ostream_implIRA28_KcEC1ERKNS0_12lazy_ostreamES4_(%"class.boost::unit_test::lazy_ostream_impl.4"* %agg.result, %"class.boost::unit_test::lazy_ostream"* %0, [28 x i8]* %1)
  ret void
}

define linkonce_odr void @_ZN5boost9unit_test17lazy_ostream_implIRA28_KcED1Ev(%"class.boost::unit_test::lazy_ostream_impl.4"* %this) unnamed_addr inlinehint align 2 {
entry:
  %this.addr = alloca %"class.boost::unit_test::lazy_ostream_impl.4"*, align 4
  store %"class.boost::unit_test::lazy_ostream_impl.4"* %this, %"class.boost::unit_test::lazy_ostream_impl.4"** %this.addr, align 4
  %this1 = load %"class.boost::unit_test::lazy_ostream_impl.4"** %this.addr
  call void @_ZN5boost9unit_test17lazy_ostream_implIRA28_KcED2Ev(%"class.boost::unit_test::lazy_ostream_impl.4"* %this1)
  ret void
}

define void @_Z23ios_tie_saver_unit_testv() {
entry:
  %agg.tmp = alloca %"class.boost::unit_test::basic_cstring", align 4
  %agg.tmp1 = alloca %"class.boost::unit_test::basic_cstring", align 4
  %ref.tmp = alloca %"class.boost::test_tools::predicate_result", align 4
  %ref.tmp2 = alloca %"class.boost::unit_test::lazy_ostream_impl.0", align 4
  %exn.slot = alloca i8*
  %ehselector.slot = alloca i32
  %ref.tmp4 = alloca %"class.boost::unit_test::basic_cstring", align 4
  %agg.tmp7 = alloca %"class.boost::unit_test::basic_cstring", align 4
  %its = alloca %"class.boost::io::basic_ios_tie_saver", align 4
  %agg.tmp20 = alloca %"class.boost::unit_test::basic_cstring", align 4
  %agg.tmp23 = alloca %"class.boost::unit_test::basic_cstring", align 4
  %ref.tmp26 = alloca %"class.boost::test_tools::predicate_result", align 4
  %ref.tmp35 = alloca %"class.boost::unit_test::lazy_ostream_impl.0", align 4
  %ref.tmp39 = alloca %"class.boost::unit_test::basic_cstring", align 4
  %agg.tmp42 = alloca %"class.boost::unit_test::basic_cstring", align 4
  %agg.tmp63 = alloca %"class.boost::unit_test::basic_cstring", align 4
  %agg.tmp65 = alloca %"class.boost::unit_test::basic_cstring", align 4
  %agg.tmp68 = alloca %"struct.boost::test_tools::tt_detail::equal_impl_frwd", align 1
  %ref.tmp69 = alloca %"class.boost::unit_test::lazy_ostream_impl", align 4
  %agg.tmp73 = alloca %"class.boost::unit_test::basic_cstring", align 4
  %ref.tmp76 = alloca %"class.std::basic_ostream"*, align 4
  %ref.tmp83 = alloca %"class.std::basic_ostream"*, align 4
  %agg.tmp95 = alloca %"class.boost::unit_test::basic_cstring", align 4
  %agg.tmp96 = alloca %"class.boost::unit_test::basic_cstring", align 4
  %ref.tmp97 = alloca %"class.boost::test_tools::predicate_result", align 4
  %ref.tmp104 = alloca %"class.boost::unit_test::lazy_ostream_impl.0", align 4
  %ref.tmp108 = alloca %"class.boost::unit_test::basic_cstring", align 4
  %agg.tmp111 = alloca %"class.boost::unit_test::basic_cstring", align 4
  %its124 = alloca %"class.boost::io::basic_ios_tie_saver", align 4
  %ref.tmp129 = alloca %"class.std::basic_ostream"*, align 4
  %agg.tmp131 = alloca %"class.boost::unit_test::basic_cstring", align 4
  %agg.tmp134 = alloca %"class.boost::unit_test::basic_cstring", align 4
  %agg.tmp137 = alloca %"struct.boost::test_tools::tt_detail::equal_impl_frwd", align 1
  %ref.tmp138 = alloca %"class.boost::unit_test::lazy_ostream_impl", align 4
  %agg.tmp142 = alloca %"class.boost::unit_test::basic_cstring", align 4
  %ref.tmp145 = alloca %"class.std::basic_ostream"*, align 4
  %ref.tmp152 = alloca %"class.std::basic_ostream"*, align 4
  %agg.tmp168 = alloca %"class.boost::unit_test::basic_cstring", align 4
  %agg.tmp170 = alloca %"class.boost::unit_test::basic_cstring", align 4
  %agg.tmp173 = alloca %"struct.boost::test_tools::tt_detail::equal_impl_frwd", align 1
  %ref.tmp174 = alloca %"class.boost::unit_test::lazy_ostream_impl", align 4
  %agg.tmp178 = alloca %"class.boost::unit_test::basic_cstring", align 4
  %ref.tmp181 = alloca %"class.std::basic_ostream"*, align 4
  %ref.tmp188 = alloca %"class.std::basic_ostream"*, align 4
  %agg.tmp200 = alloca %"class.boost::unit_test::basic_cstring", align 4
  %agg.tmp201 = alloca %"class.boost::unit_test::basic_cstring", align 4
  %ref.tmp202 = alloca %"class.boost::test_tools::predicate_result", align 4
  %ref.tmp209 = alloca %"class.boost::unit_test::lazy_ostream_impl.0", align 4
  %ref.tmp213 = alloca %"class.boost::unit_test::basic_cstring", align 4
  %agg.tmp216 = alloca %"class.boost::unit_test::basic_cstring", align 4
  br label %do.body

do.body:                                          ; preds = %do.cond, %entry
  %0 = load %"class.boost::unit_test::unit_test_log_t"** @_ZN5boost9unit_test12_GLOBAL__N_113unit_test_logE, align 4
  call void @_ZN5boost9unit_test13basic_cstringIKcEC1EPS2_j(%"class.boost::unit_test::basic_cstring"* %agg.tmp, i8* getelementptr inbounds ([24 x i8]* @.str, i32 0, i32 0), i32 23)
  call void @_ZN5boost9unit_test13basic_cstringIKcEC1Ev(%"class.boost::unit_test::basic_cstring"* %agg.tmp1)
  call void @_ZN5boost9unit_test15unit_test_log_t14set_checkpointENS0_13basic_cstringIKcEEjS4_(%"class.boost::unit_test::unit_test_log_t"* %0, %"class.boost::unit_test::basic_cstring"* byval align 4 %agg.tmp, i32 264, %"class.boost::unit_test::basic_cstring"* byval align 4 %agg.tmp1)
  %vtable = load i8** bitcast (%"class.std::basic_ostream"* @_ZSt4cout to i8**)
  %vbase.offset.ptr = getelementptr i8* %vtable, i64 -12
  %1 = bitcast i8* %vbase.offset.ptr to i32*
  %vbase.offset = load i32* %1
  %add.ptr = getelementptr inbounds i8* bitcast (%"class.std::basic_ostream"* @_ZSt4cout to i8*), i32 %vbase.offset
  %2 = bitcast i8* %add.ptr to %"class.std::basic_ios"*
  %call = call %"class.std::basic_ostream"* @_ZNKSt9basic_iosIcSt11char_traitsIcEE3tieEv(%"class.std::basic_ios"* %2)
  %cmp = icmp eq %"class.std::basic_ostream"* null, %call
  call void @_ZN5boost10test_tools16predicate_resultC1Eb(%"class.boost::test_tools::predicate_result"* %ref.tmp, i1 zeroext %cmp)
  %call3 = invoke %"class.boost::unit_test::lazy_ostream"* @_ZN5boost9unit_test12lazy_ostream8instanceEv()
          to label %invoke.cont unwind label %lpad

invoke.cont:                                      ; preds = %do.body
  invoke void @_ZN5boost9unit_test13basic_cstringIKcEC1EPS2_j(%"class.boost::unit_test::basic_cstring"* %ref.tmp4, i8* getelementptr inbounds ([21 x i8]* @.str33, i32 0, i32 0), i32 20)
          to label %invoke.cont5 unwind label %lpad

invoke.cont5:                                     ; preds = %invoke.cont
  invoke void @_ZN5boost9unit_testlsINS0_13basic_cstringIKcEEEENS0_17lazy_ostream_implIRKT_EERKNS0_12lazy_ostreamES8_(%"class.boost::unit_test::lazy_ostream_impl.0"* sret %ref.tmp2, %"class.boost::unit_test::lazy_ostream"* %call3, %"class.boost::unit_test::basic_cstring"* %ref.tmp4)
          to label %invoke.cont6 unwind label %lpad

invoke.cont6:                                     ; preds = %invoke.cont5
  %3 = bitcast %"class.boost::unit_test::lazy_ostream_impl.0"* %ref.tmp2 to %"class.boost::unit_test::lazy_ostream"*
  invoke void @_ZN5boost9unit_test13basic_cstringIKcEC1EPS2_j(%"class.boost::unit_test::basic_cstring"* %agg.tmp7, i8* getelementptr inbounds ([24 x i8]* @.str, i32 0, i32 0), i32 23)
          to label %invoke.cont9 unwind label %lpad8

invoke.cont9:                                     ; preds = %invoke.cont6
  %call11 = invoke zeroext i1 (%"class.boost::test_tools::predicate_result"*, %"class.boost::unit_test::lazy_ostream"*, %"class.boost::unit_test::basic_cstring"*, i32, i32, i32, i32, ...)* @_ZN5boost10test_tools9tt_detail10check_implERKNS0_16predicate_resultERKNS_9unit_test12lazy_ostreamENS5_13basic_cstringIKcEEjNS1_10tool_levelENS1_10check_typeEjz(%"class.boost::test_tools::predicate_result"* %ref.tmp, %"class.boost::unit_test::lazy_ostream"* %3, %"class.boost::unit_test::basic_cstring"* byval align 4 %agg.tmp7, i32 264, i32 1, i32 0, i32 0)
          to label %invoke.cont10 unwind label %lpad8

invoke.cont10:                                    ; preds = %invoke.cont9
  invoke void @_ZN5boost9unit_test17lazy_ostream_implIRKNS0_13basic_cstringIKcEEED1Ev(%"class.boost::unit_test::lazy_ostream_impl.0"* %ref.tmp2)
          to label %invoke.cont12 unwind label %lpad

invoke.cont12:                                    ; preds = %invoke.cont10
  call void @_ZN5boost10test_tools16predicate_resultD1Ev(%"class.boost::test_tools::predicate_result"* %ref.tmp)
  br label %do.cond

do.cond:                                          ; preds = %invoke.cont12
  %4 = load i8* @_ZN5boost10test_tools12_GLOBAL__N_110dummy_condE, align 1
  %tobool = trunc i8 %4 to i1
  br i1 %tobool, label %do.body, label %do.end

do.end:                                           ; preds = %do.cond
  %vtable15 = load i8** bitcast (%"class.std::basic_ostream"* @_ZSt4cout to i8**)
  %vbase.offset.ptr16 = getelementptr i8* %vtable15, i64 -12
  %5 = bitcast i8* %vbase.offset.ptr16 to i32*
  %vbase.offset17 = load i32* %5
  %add.ptr18 = getelementptr inbounds i8* bitcast (%"class.std::basic_ostream"* @_ZSt4cout to i8*), i32 %vbase.offset17
  %6 = bitcast i8* %add.ptr18 to %"class.std::basic_ios"*
  call void @_ZN5boost2io19basic_ios_tie_saverIcSt11char_traitsIcEEC1ERSt9basic_iosIcS3_E(%"class.boost::io::basic_ios_tie_saver"* %its, %"class.std::basic_ios"* %6)
  br label %do.body19

do.body19:                                        ; preds = %do.cond53, %do.end
  %7 = load %"class.boost::unit_test::unit_test_log_t"** @_ZN5boost9unit_test12_GLOBAL__N_113unit_test_logE, align 4
  invoke void @_ZN5boost9unit_test13basic_cstringIKcEC1EPS2_j(%"class.boost::unit_test::basic_cstring"* %agg.tmp20, i8* getelementptr inbounds ([24 x i8]* @.str, i32 0, i32 0), i32 23)
          to label %invoke.cont22 unwind label %lpad21

invoke.cont22:                                    ; preds = %do.body19
  invoke void @_ZN5boost9unit_test13basic_cstringIKcEC1Ev(%"class.boost::unit_test::basic_cstring"* %agg.tmp23)
          to label %invoke.cont24 unwind label %lpad21

invoke.cont24:                                    ; preds = %invoke.cont22
  invoke void @_ZN5boost9unit_test15unit_test_log_t14set_checkpointENS0_13basic_cstringIKcEEjS4_(%"class.boost::unit_test::unit_test_log_t"* %7, %"class.boost::unit_test::basic_cstring"* byval align 4 %agg.tmp20, i32 269, %"class.boost::unit_test::basic_cstring"* byval align 4 %agg.tmp23)
          to label %invoke.cont25 unwind label %lpad21

invoke.cont25:                                    ; preds = %invoke.cont24
  %vtable27 = load i8** bitcast (%"class.std::basic_ostream"* @_ZSt4cout to i8**)
  %vbase.offset.ptr28 = getelementptr i8* %vtable27, i64 -12
  %8 = bitcast i8* %vbase.offset.ptr28 to i32*
  %vbase.offset29 = load i32* %8
  %add.ptr30 = getelementptr inbounds i8* bitcast (%"class.std::basic_ostream"* @_ZSt4cout to i8*), i32 %vbase.offset29
  %9 = bitcast i8* %add.ptr30 to %"class.std::basic_ios"*
  %call32 = invoke %"class.std::basic_ostream"* @_ZNKSt9basic_iosIcSt11char_traitsIcEE3tieEv(%"class.std::basic_ios"* %9)
          to label %invoke.cont31 unwind label %lpad21

invoke.cont31:                                    ; preds = %invoke.cont25
  %cmp33 = icmp eq %"class.std::basic_ostream"* null, %call32
  invoke void @_ZN5boost10test_tools16predicate_resultC1Eb(%"class.boost::test_tools::predicate_result"* %ref.tmp26, i1 zeroext %cmp33)
          to label %invoke.cont34 unwind label %lpad21

invoke.cont34:                                    ; preds = %invoke.cont31
  %call38 = invoke %"class.boost::unit_test::lazy_ostream"* @_ZN5boost9unit_test12lazy_ostream8instanceEv()
          to label %invoke.cont37 unwind label %lpad36

invoke.cont37:                                    ; preds = %invoke.cont34
  invoke void @_ZN5boost9unit_test13basic_cstringIKcEC1EPS2_j(%"class.boost::unit_test::basic_cstring"* %ref.tmp39, i8* getelementptr inbounds ([21 x i8]* @.str33, i32 0, i32 0), i32 20)
          to label %invoke.cont40 unwind label %lpad36

invoke.cont40:                                    ; preds = %invoke.cont37
  invoke void @_ZN5boost9unit_testlsINS0_13basic_cstringIKcEEEENS0_17lazy_ostream_implIRKT_EERKNS0_12lazy_ostreamES8_(%"class.boost::unit_test::lazy_ostream_impl.0"* sret %ref.tmp35, %"class.boost::unit_test::lazy_ostream"* %call38, %"class.boost::unit_test::basic_cstring"* %ref.tmp39)
          to label %invoke.cont41 unwind label %lpad36

invoke.cont41:                                    ; preds = %invoke.cont40
  %10 = bitcast %"class.boost::unit_test::lazy_ostream_impl.0"* %ref.tmp35 to %"class.boost::unit_test::lazy_ostream"*
  invoke void @_ZN5boost9unit_test13basic_cstringIKcEC1EPS2_j(%"class.boost::unit_test::basic_cstring"* %agg.tmp42, i8* getelementptr inbounds ([24 x i8]* @.str, i32 0, i32 0), i32 23)
          to label %invoke.cont44 unwind label %lpad43

invoke.cont44:                                    ; preds = %invoke.cont41
  %call46 = invoke zeroext i1 (%"class.boost::test_tools::predicate_result"*, %"class.boost::unit_test::lazy_ostream"*, %"class.boost::unit_test::basic_cstring"*, i32, i32, i32, i32, ...)* @_ZN5boost10test_tools9tt_detail10check_implERKNS0_16predicate_resultERKNS_9unit_test12lazy_ostreamENS5_13basic_cstringIKcEEjNS1_10tool_levelENS1_10check_typeEjz(%"class.boost::test_tools::predicate_result"* %ref.tmp26, %"class.boost::unit_test::lazy_ostream"* %10, %"class.boost::unit_test::basic_cstring"* byval align 4 %agg.tmp42, i32 269, i32 1, i32 0, i32 0)
          to label %invoke.cont45 unwind label %lpad43

invoke.cont45:                                    ; preds = %invoke.cont44
  invoke void @_ZN5boost9unit_test17lazy_ostream_implIRKNS0_13basic_cstringIKcEEED1Ev(%"class.boost::unit_test::lazy_ostream_impl.0"* %ref.tmp35)
          to label %invoke.cont47 unwind label %lpad36

invoke.cont47:                                    ; preds = %invoke.cont45
  invoke void @_ZN5boost10test_tools16predicate_resultD1Ev(%"class.boost::test_tools::predicate_result"* %ref.tmp26)
          to label %invoke.cont50 unwind label %lpad21

invoke.cont50:                                    ; preds = %invoke.cont47
  br label %do.cond53

do.cond53:                                        ; preds = %invoke.cont50
  %11 = load i8* @_ZN5boost10test_tools12_GLOBAL__N_110dummy_condE, align 1
  %tobool54 = trunc i8 %11 to i1
  br i1 %tobool54, label %do.body19, label %do.end55

do.end55:                                         ; preds = %do.cond53
  %vtable56 = load i8** bitcast (%"class.std::basic_ostream"* @_ZSt4cout to i8**)
  %vbase.offset.ptr57 = getelementptr i8* %vtable56, i64 -12
  %12 = bitcast i8* %vbase.offset.ptr57 to i32*
  %vbase.offset58 = load i32* %12
  %add.ptr59 = getelementptr inbounds i8* bitcast (%"class.std::basic_ostream"* @_ZSt4cout to i8*), i32 %vbase.offset58
  %13 = bitcast i8* %add.ptr59 to %"class.std::basic_ios"*
  %call61 = invoke %"class.std::basic_ostream"* @_ZNSt9basic_iosIcSt11char_traitsIcEE3tieEPSo(%"class.std::basic_ios"* %13, %"class.std::basic_ostream"* @_ZSt4clog)
          to label %invoke.cont60 unwind label %lpad21

invoke.cont60:                                    ; preds = %do.end55
  br label %do.body62

do.body62:                                        ; preds = %do.cond89, %invoke.cont60
  %14 = load %"class.boost::unit_test::unit_test_log_t"** @_ZN5boost9unit_test12_GLOBAL__N_113unit_test_logE, align 4
  invoke void @_ZN5boost9unit_test13basic_cstringIKcEC1EPS2_j(%"class.boost::unit_test::basic_cstring"* %agg.tmp63, i8* getelementptr inbounds ([24 x i8]* @.str, i32 0, i32 0), i32 23)
          to label %invoke.cont64 unwind label %lpad21

invoke.cont64:                                    ; preds = %do.body62
  invoke void @_ZN5boost9unit_test13basic_cstringIKcEC1Ev(%"class.boost::unit_test::basic_cstring"* %agg.tmp65)
          to label %invoke.cont66 unwind label %lpad21

invoke.cont66:                                    ; preds = %invoke.cont64
  invoke void @_ZN5boost9unit_test15unit_test_log_t14set_checkpointENS0_13basic_cstringIKcEEjS4_(%"class.boost::unit_test::unit_test_log_t"* %14, %"class.boost::unit_test::basic_cstring"* byval align 4 %agg.tmp63, i32 272, %"class.boost::unit_test::basic_cstring"* byval align 4 %agg.tmp65)
          to label %invoke.cont67 unwind label %lpad21

invoke.cont67:                                    ; preds = %invoke.cont66
  %call71 = invoke %"class.boost::unit_test::lazy_ostream"* @_ZN5boost9unit_test12lazy_ostream8instanceEv()
          to label %invoke.cont70 unwind label %lpad21

invoke.cont70:                                    ; preds = %invoke.cont67
  invoke void @_ZN5boost9unit_testlsIA1_cEENS0_17lazy_ostream_implIRKT_EERKNS0_12lazy_ostreamES6_(%"class.boost::unit_test::lazy_ostream_impl"* sret %ref.tmp69, %"class.boost::unit_test::lazy_ostream"* %call71, [1 x i8]* @.str3)
          to label %invoke.cont72 unwind label %lpad21

invoke.cont72:                                    ; preds = %invoke.cont70
  %15 = bitcast %"class.boost::unit_test::lazy_ostream_impl"* %ref.tmp69 to %"class.boost::unit_test::lazy_ostream"*
  invoke void @_ZN5boost9unit_test13basic_cstringIKcEC1EPS2_j(%"class.boost::unit_test::basic_cstring"* %agg.tmp73, i8* getelementptr inbounds ([24 x i8]* @.str, i32 0, i32 0), i32 23)
          to label %invoke.cont75 unwind label %lpad74

invoke.cont75:                                    ; preds = %invoke.cont72
  store %"class.std::basic_ostream"* @_ZSt4clog, %"class.std::basic_ostream"** %ref.tmp76, align 4
  %vtable77 = load i8** bitcast (%"class.std::basic_ostream"* @_ZSt4cout to i8**)
  %vbase.offset.ptr78 = getelementptr i8* %vtable77, i64 -12
  %16 = bitcast i8* %vbase.offset.ptr78 to i32*
  %vbase.offset79 = load i32* %16
  %add.ptr80 = getelementptr inbounds i8* bitcast (%"class.std::basic_ostream"* @_ZSt4cout to i8*), i32 %vbase.offset79
  %17 = bitcast i8* %add.ptr80 to %"class.std::basic_ios"*
  %call82 = invoke %"class.std::basic_ostream"* @_ZNKSt9basic_iosIcSt11char_traitsIcEE3tieEv(%"class.std::basic_ios"* %17)
          to label %invoke.cont81 unwind label %lpad74

invoke.cont81:                                    ; preds = %invoke.cont75
  store %"class.std::basic_ostream"* %call82, %"class.std::basic_ostream"** %ref.tmp83, align 4
  %call85 = invoke zeroext i1 @_ZN5boost10test_tools9tt_detail10check_frwdINS1_15equal_impl_frwdEPSoS4_EEbT_RKNS_9unit_test12lazy_ostreamENS6_13basic_cstringIKcEEjNS1_10tool_levelENS1_10check_typeERKT0_PSB_RKT1_SI_(%"class.boost::unit_test::lazy_ostream"* %15, %"class.boost::unit_test::basic_cstring"* byval align 4 %agg.tmp73, i32 272, i32 1, i32 2, %"class.std::basic_ostream"** %ref.tmp76, i8* getelementptr inbounds ([6 x i8]* @.str34, i32 0, i32 0), %"class.std::basic_ostream"** %ref.tmp83, i8* getelementptr inbounds ([11 x i8]* @.str35, i32 0, i32 0))
          to label %invoke.cont84 unwind label %lpad74

invoke.cont84:                                    ; preds = %invoke.cont81
  invoke void @_ZN5boost9unit_test17lazy_ostream_implIRA1_KcED1Ev(%"class.boost::unit_test::lazy_ostream_impl"* %ref.tmp69)
          to label %invoke.cont86 unwind label %lpad21

invoke.cont86:                                    ; preds = %invoke.cont84
  br label %do.cond89

do.cond89:                                        ; preds = %invoke.cont86
  %18 = load i8* @_ZN5boost10test_tools12_GLOBAL__N_110dummy_condE, align 1
  %tobool90 = trunc i8 %18 to i1
  br i1 %tobool90, label %do.body62, label %do.end91

do.end91:                                         ; preds = %do.cond89
  call void @_ZN5boost2io19basic_ios_tie_saverIcSt11char_traitsIcEED1Ev(%"class.boost::io::basic_ios_tie_saver"* %its)
  br label %do.body94

do.body94:                                        ; preds = %do.cond121, %do.end91
  %19 = load %"class.boost::unit_test::unit_test_log_t"** @_ZN5boost9unit_test12_GLOBAL__N_113unit_test_logE, align 4
  call void @_ZN5boost9unit_test13basic_cstringIKcEC1EPS2_j(%"class.boost::unit_test::basic_cstring"* %agg.tmp95, i8* getelementptr inbounds ([24 x i8]* @.str, i32 0, i32 0), i32 23)
  call void @_ZN5boost9unit_test13basic_cstringIKcEC1Ev(%"class.boost::unit_test::basic_cstring"* %agg.tmp96)
  call void @_ZN5boost9unit_test15unit_test_log_t14set_checkpointENS0_13basic_cstringIKcEEjS4_(%"class.boost::unit_test::unit_test_log_t"* %19, %"class.boost::unit_test::basic_cstring"* byval align 4 %agg.tmp95, i32 275, %"class.boost::unit_test::basic_cstring"* byval align 4 %agg.tmp96)
  %vtable98 = load i8** bitcast (%"class.std::basic_ostream"* @_ZSt4cout to i8**)
  %vbase.offset.ptr99 = getelementptr i8* %vtable98, i64 -12
  %20 = bitcast i8* %vbase.offset.ptr99 to i32*
  %vbase.offset100 = load i32* %20
  %add.ptr101 = getelementptr inbounds i8* bitcast (%"class.std::basic_ostream"* @_ZSt4cout to i8*), i32 %vbase.offset100
  %21 = bitcast i8* %add.ptr101 to %"class.std::basic_ios"*
  %call102 = call %"class.std::basic_ostream"* @_ZNKSt9basic_iosIcSt11char_traitsIcEE3tieEv(%"class.std::basic_ios"* %21)
  %cmp103 = icmp eq %"class.std::basic_ostream"* null, %call102
  call void @_ZN5boost10test_tools16predicate_resultC1Eb(%"class.boost::test_tools::predicate_result"* %ref.tmp97, i1 zeroext %cmp103)
  %call107 = invoke %"class.boost::unit_test::lazy_ostream"* @_ZN5boost9unit_test12lazy_ostream8instanceEv()
          to label %invoke.cont106 unwind label %lpad105

invoke.cont106:                                   ; preds = %do.body94
  invoke void @_ZN5boost9unit_test13basic_cstringIKcEC1EPS2_j(%"class.boost::unit_test::basic_cstring"* %ref.tmp108, i8* getelementptr inbounds ([21 x i8]* @.str33, i32 0, i32 0), i32 20)
          to label %invoke.cont109 unwind label %lpad105

invoke.cont109:                                   ; preds = %invoke.cont106
  invoke void @_ZN5boost9unit_testlsINS0_13basic_cstringIKcEEEENS0_17lazy_ostream_implIRKT_EERKNS0_12lazy_ostreamES8_(%"class.boost::unit_test::lazy_ostream_impl.0"* sret %ref.tmp104, %"class.boost::unit_test::lazy_ostream"* %call107, %"class.boost::unit_test::basic_cstring"* %ref.tmp108)
          to label %invoke.cont110 unwind label %lpad105

invoke.cont110:                                   ; preds = %invoke.cont109
  %22 = bitcast %"class.boost::unit_test::lazy_ostream_impl.0"* %ref.tmp104 to %"class.boost::unit_test::lazy_ostream"*
  invoke void @_ZN5boost9unit_test13basic_cstringIKcEC1EPS2_j(%"class.boost::unit_test::basic_cstring"* %agg.tmp111, i8* getelementptr inbounds ([24 x i8]* @.str, i32 0, i32 0), i32 23)
          to label %invoke.cont113 unwind label %lpad112

invoke.cont113:                                   ; preds = %invoke.cont110
  %call115 = invoke zeroext i1 (%"class.boost::test_tools::predicate_result"*, %"class.boost::unit_test::lazy_ostream"*, %"class.boost::unit_test::basic_cstring"*, i32, i32, i32, i32, ...)* @_ZN5boost10test_tools9tt_detail10check_implERKNS0_16predicate_resultERKNS_9unit_test12lazy_ostreamENS5_13basic_cstringIKcEEjNS1_10tool_levelENS1_10check_typeEjz(%"class.boost::test_tools::predicate_result"* %ref.tmp97, %"class.boost::unit_test::lazy_ostream"* %22, %"class.boost::unit_test::basic_cstring"* byval align 4 %agg.tmp111, i32 275, i32 1, i32 0, i32 0)
          to label %invoke.cont114 unwind label %lpad112

invoke.cont114:                                   ; preds = %invoke.cont113
  invoke void @_ZN5boost9unit_test17lazy_ostream_implIRKNS0_13basic_cstringIKcEEED1Ev(%"class.boost::unit_test::lazy_ostream_impl.0"* %ref.tmp104)
          to label %invoke.cont116 unwind label %lpad105

invoke.cont116:                                   ; preds = %invoke.cont114
  call void @_ZN5boost10test_tools16predicate_resultD1Ev(%"class.boost::test_tools::predicate_result"* %ref.tmp97)
  br label %do.cond121

do.cond121:                                       ; preds = %invoke.cont116
  %23 = load i8* @_ZN5boost10test_tools12_GLOBAL__N_110dummy_condE, align 1
  %tobool122 = trunc i8 %23 to i1
  br i1 %tobool122, label %do.body94, label %do.end123

do.end123:                                        ; preds = %do.cond121
  %vtable125 = load i8** bitcast (%"class.std::basic_ostream"* @_ZSt4cout to i8**)
  %vbase.offset.ptr126 = getelementptr i8* %vtable125, i64 -12
  %24 = bitcast i8* %vbase.offset.ptr126 to i32*
  %vbase.offset127 = load i32* %24
  %add.ptr128 = getelementptr inbounds i8* bitcast (%"class.std::basic_ostream"* @_ZSt4cout to i8*), i32 %vbase.offset127
  %25 = bitcast i8* %add.ptr128 to %"class.std::basic_ios"*
  store %"class.std::basic_ostream"* @_ZSt4clog, %"class.std::basic_ostream"** %ref.tmp129, align 4
  call void @_ZN5boost2io19basic_ios_tie_saverIcSt11char_traitsIcEEC1ERSt9basic_iosIcS3_ERKPSo(%"class.boost::io::basic_ios_tie_saver"* %its124, %"class.std::basic_ios"* %25, %"class.std::basic_ostream"** %ref.tmp129)
  br label %do.body130

do.body130:                                       ; preds = %do.cond158, %do.end123
  %26 = load %"class.boost::unit_test::unit_test_log_t"** @_ZN5boost9unit_test12_GLOBAL__N_113unit_test_logE, align 4
  invoke void @_ZN5boost9unit_test13basic_cstringIKcEC1EPS2_j(%"class.boost::unit_test::basic_cstring"* %agg.tmp131, i8* getelementptr inbounds ([24 x i8]* @.str, i32 0, i32 0), i32 23)
          to label %invoke.cont133 unwind label %lpad132

invoke.cont133:                                   ; preds = %do.body130
  invoke void @_ZN5boost9unit_test13basic_cstringIKcEC1Ev(%"class.boost::unit_test::basic_cstring"* %agg.tmp134)
          to label %invoke.cont135 unwind label %lpad132

invoke.cont135:                                   ; preds = %invoke.cont133
  invoke void @_ZN5boost9unit_test15unit_test_log_t14set_checkpointENS0_13basic_cstringIKcEEjS4_(%"class.boost::unit_test::unit_test_log_t"* %26, %"class.boost::unit_test::basic_cstring"* byval align 4 %agg.tmp131, i32 280, %"class.boost::unit_test::basic_cstring"* byval align 4 %agg.tmp134)
          to label %invoke.cont136 unwind label %lpad132

invoke.cont136:                                   ; preds = %invoke.cont135
  %call140 = invoke %"class.boost::unit_test::lazy_ostream"* @_ZN5boost9unit_test12lazy_ostream8instanceEv()
          to label %invoke.cont139 unwind label %lpad132

invoke.cont139:                                   ; preds = %invoke.cont136
  invoke void @_ZN5boost9unit_testlsIA1_cEENS0_17lazy_ostream_implIRKT_EERKNS0_12lazy_ostreamES6_(%"class.boost::unit_test::lazy_ostream_impl"* sret %ref.tmp138, %"class.boost::unit_test::lazy_ostream"* %call140, [1 x i8]* @.str3)
          to label %invoke.cont141 unwind label %lpad132

invoke.cont141:                                   ; preds = %invoke.cont139
  %27 = bitcast %"class.boost::unit_test::lazy_ostream_impl"* %ref.tmp138 to %"class.boost::unit_test::lazy_ostream"*
  invoke void @_ZN5boost9unit_test13basic_cstringIKcEC1EPS2_j(%"class.boost::unit_test::basic_cstring"* %agg.tmp142, i8* getelementptr inbounds ([24 x i8]* @.str, i32 0, i32 0), i32 23)
          to label %invoke.cont144 unwind label %lpad143

invoke.cont144:                                   ; preds = %invoke.cont141
  store %"class.std::basic_ostream"* @_ZSt4clog, %"class.std::basic_ostream"** %ref.tmp145, align 4
  %vtable146 = load i8** bitcast (%"class.std::basic_ostream"* @_ZSt4cout to i8**)
  %vbase.offset.ptr147 = getelementptr i8* %vtable146, i64 -12
  %28 = bitcast i8* %vbase.offset.ptr147 to i32*
  %vbase.offset148 = load i32* %28
  %add.ptr149 = getelementptr inbounds i8* bitcast (%"class.std::basic_ostream"* @_ZSt4cout to i8*), i32 %vbase.offset148
  %29 = bitcast i8* %add.ptr149 to %"class.std::basic_ios"*
  %call151 = invoke %"class.std::basic_ostream"* @_ZNKSt9basic_iosIcSt11char_traitsIcEE3tieEv(%"class.std::basic_ios"* %29)
          to label %invoke.cont150 unwind label %lpad143

invoke.cont150:                                   ; preds = %invoke.cont144
  store %"class.std::basic_ostream"* %call151, %"class.std::basic_ostream"** %ref.tmp152, align 4
  %call154 = invoke zeroext i1 @_ZN5boost10test_tools9tt_detail10check_frwdINS1_15equal_impl_frwdEPSoS4_EEbT_RKNS_9unit_test12lazy_ostreamENS6_13basic_cstringIKcEEjNS1_10tool_levelENS1_10check_typeERKT0_PSB_RKT1_SI_(%"class.boost::unit_test::lazy_ostream"* %27, %"class.boost::unit_test::basic_cstring"* byval align 4 %agg.tmp142, i32 280, i32 1, i32 2, %"class.std::basic_ostream"** %ref.tmp145, i8* getelementptr inbounds ([6 x i8]* @.str34, i32 0, i32 0), %"class.std::basic_ostream"** %ref.tmp152, i8* getelementptr inbounds ([11 x i8]* @.str35, i32 0, i32 0))
          to label %invoke.cont153 unwind label %lpad143

invoke.cont153:                                   ; preds = %invoke.cont150
  invoke void @_ZN5boost9unit_test17lazy_ostream_implIRA1_KcED1Ev(%"class.boost::unit_test::lazy_ostream_impl"* %ref.tmp138)
          to label %invoke.cont155 unwind label %lpad132

invoke.cont155:                                   ; preds = %invoke.cont153
  br label %do.cond158

do.cond158:                                       ; preds = %invoke.cont155
  %30 = load i8* @_ZN5boost10test_tools12_GLOBAL__N_110dummy_condE, align 1
  %tobool159 = trunc i8 %30 to i1
  br i1 %tobool159, label %do.body130, label %do.end160

do.end160:                                        ; preds = %do.cond158
  %vtable161 = load i8** bitcast (%"class.std::basic_ostream"* @_ZSt4cout to i8**)
  %vbase.offset.ptr162 = getelementptr i8* %vtable161, i64 -12
  %31 = bitcast i8* %vbase.offset.ptr162 to i32*
  %vbase.offset163 = load i32* %31
  %add.ptr164 = getelementptr inbounds i8* bitcast (%"class.std::basic_ostream"* @_ZSt4cout to i8*), i32 %vbase.offset163
  %32 = bitcast i8* %add.ptr164 to %"class.std::basic_ios"*
  %call166 = invoke %"class.std::basic_ostream"* @_ZNSt9basic_iosIcSt11char_traitsIcEE3tieEPSo(%"class.std::basic_ios"* %32, %"class.std::basic_ostream"* @_ZSt4cerr)
          to label %invoke.cont165 unwind label %lpad132

invoke.cont165:                                   ; preds = %do.end160
  br label %do.body167

do.body167:                                       ; preds = %do.cond194, %invoke.cont165
  %33 = load %"class.boost::unit_test::unit_test_log_t"** @_ZN5boost9unit_test12_GLOBAL__N_113unit_test_logE, align 4
  invoke void @_ZN5boost9unit_test13basic_cstringIKcEC1EPS2_j(%"class.boost::unit_test::basic_cstring"* %agg.tmp168, i8* getelementptr inbounds ([24 x i8]* @.str, i32 0, i32 0), i32 23)
          to label %invoke.cont169 unwind label %lpad132

invoke.cont169:                                   ; preds = %do.body167
  invoke void @_ZN5boost9unit_test13basic_cstringIKcEC1Ev(%"class.boost::unit_test::basic_cstring"* %agg.tmp170)
          to label %invoke.cont171 unwind label %lpad132

invoke.cont171:                                   ; preds = %invoke.cont169
  invoke void @_ZN5boost9unit_test15unit_test_log_t14set_checkpointENS0_13basic_cstringIKcEEjS4_(%"class.boost::unit_test::unit_test_log_t"* %33, %"class.boost::unit_test::basic_cstring"* byval align 4 %agg.tmp168, i32 283, %"class.boost::unit_test::basic_cstring"* byval align 4 %agg.tmp170)
          to label %invoke.cont172 unwind label %lpad132

invoke.cont172:                                   ; preds = %invoke.cont171
  %call176 = invoke %"class.boost::unit_test::lazy_ostream"* @_ZN5boost9unit_test12lazy_ostream8instanceEv()
          to label %invoke.cont175 unwind label %lpad132

invoke.cont175:                                   ; preds = %invoke.cont172
  invoke void @_ZN5boost9unit_testlsIA1_cEENS0_17lazy_ostream_implIRKT_EERKNS0_12lazy_ostreamES6_(%"class.boost::unit_test::lazy_ostream_impl"* sret %ref.tmp174, %"class.boost::unit_test::lazy_ostream"* %call176, [1 x i8]* @.str3)
          to label %invoke.cont177 unwind label %lpad132

invoke.cont177:                                   ; preds = %invoke.cont175
  %34 = bitcast %"class.boost::unit_test::lazy_ostream_impl"* %ref.tmp174 to %"class.boost::unit_test::lazy_ostream"*
  invoke void @_ZN5boost9unit_test13basic_cstringIKcEC1EPS2_j(%"class.boost::unit_test::basic_cstring"* %agg.tmp178, i8* getelementptr inbounds ([24 x i8]* @.str, i32 0, i32 0), i32 23)
          to label %invoke.cont180 unwind label %lpad179

invoke.cont180:                                   ; preds = %invoke.cont177
  store %"class.std::basic_ostream"* @_ZSt4cerr, %"class.std::basic_ostream"** %ref.tmp181, align 4
  %vtable182 = load i8** bitcast (%"class.std::basic_ostream"* @_ZSt4cout to i8**)
  %vbase.offset.ptr183 = getelementptr i8* %vtable182, i64 -12
  %35 = bitcast i8* %vbase.offset.ptr183 to i32*
  %vbase.offset184 = load i32* %35
  %add.ptr185 = getelementptr inbounds i8* bitcast (%"class.std::basic_ostream"* @_ZSt4cout to i8*), i32 %vbase.offset184
  %36 = bitcast i8* %add.ptr185 to %"class.std::basic_ios"*
  %call187 = invoke %"class.std::basic_ostream"* @_ZNKSt9basic_iosIcSt11char_traitsIcEE3tieEv(%"class.std::basic_ios"* %36)
          to label %invoke.cont186 unwind label %lpad179

invoke.cont186:                                   ; preds = %invoke.cont180
  store %"class.std::basic_ostream"* %call187, %"class.std::basic_ostream"** %ref.tmp188, align 4
  %call190 = invoke zeroext i1 @_ZN5boost10test_tools9tt_detail10check_frwdINS1_15equal_impl_frwdEPSoS4_EEbT_RKNS_9unit_test12lazy_ostreamENS6_13basic_cstringIKcEEjNS1_10tool_levelENS1_10check_typeERKT0_PSB_RKT1_SI_(%"class.boost::unit_test::lazy_ostream"* %34, %"class.boost::unit_test::basic_cstring"* byval align 4 %agg.tmp178, i32 283, i32 1, i32 2, %"class.std::basic_ostream"** %ref.tmp181, i8* getelementptr inbounds ([6 x i8]* @.str36, i32 0, i32 0), %"class.std::basic_ostream"** %ref.tmp188, i8* getelementptr inbounds ([11 x i8]* @.str35, i32 0, i32 0))
          to label %invoke.cont189 unwind label %lpad179

invoke.cont189:                                   ; preds = %invoke.cont186
  invoke void @_ZN5boost9unit_test17lazy_ostream_implIRA1_KcED1Ev(%"class.boost::unit_test::lazy_ostream_impl"* %ref.tmp174)
          to label %invoke.cont191 unwind label %lpad132

invoke.cont191:                                   ; preds = %invoke.cont189
  br label %do.cond194

do.cond194:                                       ; preds = %invoke.cont191
  %37 = load i8* @_ZN5boost10test_tools12_GLOBAL__N_110dummy_condE, align 1
  %tobool195 = trunc i8 %37 to i1
  br i1 %tobool195, label %do.body167, label %do.end196

do.end196:                                        ; preds = %do.cond194
  call void @_ZN5boost2io19basic_ios_tie_saverIcSt11char_traitsIcEED1Ev(%"class.boost::io::basic_ios_tie_saver"* %its124)
  br label %do.body199

do.body199:                                       ; preds = %do.cond226, %do.end196
  %38 = load %"class.boost::unit_test::unit_test_log_t"** @_ZN5boost9unit_test12_GLOBAL__N_113unit_test_logE, align 4
  call void @_ZN5boost9unit_test13basic_cstringIKcEC1EPS2_j(%"class.boost::unit_test::basic_cstring"* %agg.tmp200, i8* getelementptr inbounds ([24 x i8]* @.str, i32 0, i32 0), i32 23)
  call void @_ZN5boost9unit_test13basic_cstringIKcEC1Ev(%"class.boost::unit_test::basic_cstring"* %agg.tmp201)
  call void @_ZN5boost9unit_test15unit_test_log_t14set_checkpointENS0_13basic_cstringIKcEEjS4_(%"class.boost::unit_test::unit_test_log_t"* %38, %"class.boost::unit_test::basic_cstring"* byval align 4 %agg.tmp200, i32 286, %"class.boost::unit_test::basic_cstring"* byval align 4 %agg.tmp201)
  %vtable203 = load i8** bitcast (%"class.std::basic_ostream"* @_ZSt4cout to i8**)
  %vbase.offset.ptr204 = getelementptr i8* %vtable203, i64 -12
  %39 = bitcast i8* %vbase.offset.ptr204 to i32*
  %vbase.offset205 = load i32* %39
  %add.ptr206 = getelementptr inbounds i8* bitcast (%"class.std::basic_ostream"* @_ZSt4cout to i8*), i32 %vbase.offset205
  %40 = bitcast i8* %add.ptr206 to %"class.std::basic_ios"*
  %call207 = call %"class.std::basic_ostream"* @_ZNKSt9basic_iosIcSt11char_traitsIcEE3tieEv(%"class.std::basic_ios"* %40)
  %cmp208 = icmp eq %"class.std::basic_ostream"* null, %call207
  call void @_ZN5boost10test_tools16predicate_resultC1Eb(%"class.boost::test_tools::predicate_result"* %ref.tmp202, i1 zeroext %cmp208)
  %call212 = invoke %"class.boost::unit_test::lazy_ostream"* @_ZN5boost9unit_test12lazy_ostream8instanceEv()
          to label %invoke.cont211 unwind label %lpad210

invoke.cont211:                                   ; preds = %do.body199
  invoke void @_ZN5boost9unit_test13basic_cstringIKcEC1EPS2_j(%"class.boost::unit_test::basic_cstring"* %ref.tmp213, i8* getelementptr inbounds ([21 x i8]* @.str33, i32 0, i32 0), i32 20)
          to label %invoke.cont214 unwind label %lpad210

invoke.cont214:                                   ; preds = %invoke.cont211
  invoke void @_ZN5boost9unit_testlsINS0_13basic_cstringIKcEEEENS0_17lazy_ostream_implIRKT_EERKNS0_12lazy_ostreamES8_(%"class.boost::unit_test::lazy_ostream_impl.0"* sret %ref.tmp209, %"class.boost::unit_test::lazy_ostream"* %call212, %"class.boost::unit_test::basic_cstring"* %ref.tmp213)
          to label %invoke.cont215 unwind label %lpad210

invoke.cont215:                                   ; preds = %invoke.cont214
  %41 = bitcast %"class.boost::unit_test::lazy_ostream_impl.0"* %ref.tmp209 to %"class.boost::unit_test::lazy_ostream"*
  invoke void @_ZN5boost9unit_test13basic_cstringIKcEC1EPS2_j(%"class.boost::unit_test::basic_cstring"* %agg.tmp216, i8* getelementptr inbounds ([24 x i8]* @.str, i32 0, i32 0), i32 23)
          to label %invoke.cont218 unwind label %lpad217

invoke.cont218:                                   ; preds = %invoke.cont215
  %call220 = invoke zeroext i1 (%"class.boost::test_tools::predicate_result"*, %"class.boost::unit_test::lazy_ostream"*, %"class.boost::unit_test::basic_cstring"*, i32, i32, i32, i32, ...)* @_ZN5boost10test_tools9tt_detail10check_implERKNS0_16predicate_resultERKNS_9unit_test12lazy_ostreamENS5_13basic_cstringIKcEEjNS1_10tool_levelENS1_10check_typeEjz(%"class.boost::test_tools::predicate_result"* %ref.tmp202, %"class.boost::unit_test::lazy_ostream"* %41, %"class.boost::unit_test::basic_cstring"* byval align 4 %agg.tmp216, i32 286, i32 1, i32 0, i32 0)
          to label %invoke.cont219 unwind label %lpad217

invoke.cont219:                                   ; preds = %invoke.cont218
  invoke void @_ZN5boost9unit_test17lazy_ostream_implIRKNS0_13basic_cstringIKcEEED1Ev(%"class.boost::unit_test::lazy_ostream_impl.0"* %ref.tmp209)
          to label %invoke.cont221 unwind label %lpad210

invoke.cont221:                                   ; preds = %invoke.cont219
  call void @_ZN5boost10test_tools16predicate_resultD1Ev(%"class.boost::test_tools::predicate_result"* %ref.tmp202)
  br label %do.cond226

do.cond226:                                       ; preds = %invoke.cont221
  %42 = load i8* @_ZN5boost10test_tools12_GLOBAL__N_110dummy_condE, align 1
  %tobool227 = trunc i8 %42 to i1
  br i1 %tobool227, label %do.body199, label %do.end228

do.end228:                                        ; preds = %do.cond226
  ret void

lpad:                                             ; preds = %invoke.cont10, %invoke.cont5, %invoke.cont, %do.body
  %43 = landingpad { i8*, i32 } personality i8* bitcast (i32 (...)* @__gxx_personality_v0 to i8*)
          cleanup
  %44 = extractvalue { i8*, i32 } %43, 0
  store i8* %44, i8** %exn.slot
  %45 = extractvalue { i8*, i32 } %43, 1
  store i32 %45, i32* %ehselector.slot
  br label %ehcleanup

lpad8:                                            ; preds = %invoke.cont9, %invoke.cont6
  %46 = landingpad { i8*, i32 } personality i8* bitcast (i32 (...)* @__gxx_personality_v0 to i8*)
          cleanup
  %47 = extractvalue { i8*, i32 } %46, 0
  store i8* %47, i8** %exn.slot
  %48 = extractvalue { i8*, i32 } %46, 1
  store i32 %48, i32* %ehselector.slot
  invoke void @_ZN5boost9unit_test17lazy_ostream_implIRKNS0_13basic_cstringIKcEEED1Ev(%"class.boost::unit_test::lazy_ostream_impl.0"* %ref.tmp2)
          to label %invoke.cont13 unwind label %terminate.lpad

invoke.cont13:                                    ; preds = %lpad8
  br label %ehcleanup

ehcleanup:                                        ; preds = %invoke.cont13, %lpad
  invoke void @_ZN5boost10test_tools16predicate_resultD1Ev(%"class.boost::test_tools::predicate_result"* %ref.tmp)
          to label %invoke.cont14 unwind label %terminate.lpad

invoke.cont14:                                    ; preds = %ehcleanup
  br label %eh.resume

lpad21:                                           ; preds = %invoke.cont84, %invoke.cont70, %invoke.cont67, %invoke.cont66, %invoke.cont64, %do.body62, %do.end55, %invoke.cont47, %invoke.cont31, %invoke.cont25, %invoke.cont24, %invoke.cont22, %do.body19
  %49 = landingpad { i8*, i32 } personality i8* bitcast (i32 (...)* @__gxx_personality_v0 to i8*)
          cleanup
  %50 = extractvalue { i8*, i32 } %49, 0
  store i8* %50, i8** %exn.slot
  %51 = extractvalue { i8*, i32 } %49, 1
  store i32 %51, i32* %ehselector.slot
  br label %ehcleanup92

lpad36:                                           ; preds = %invoke.cont45, %invoke.cont40, %invoke.cont37, %invoke.cont34
  %52 = landingpad { i8*, i32 } personality i8* bitcast (i32 (...)* @__gxx_personality_v0 to i8*)
          cleanup
  %53 = extractvalue { i8*, i32 } %52, 0
  store i8* %53, i8** %exn.slot
  %54 = extractvalue { i8*, i32 } %52, 1
  store i32 %54, i32* %ehselector.slot
  br label %ehcleanup51

lpad43:                                           ; preds = %invoke.cont44, %invoke.cont41
  %55 = landingpad { i8*, i32 } personality i8* bitcast (i32 (...)* @__gxx_personality_v0 to i8*)
          cleanup
  %56 = extractvalue { i8*, i32 } %55, 0
  store i8* %56, i8** %exn.slot
  %57 = extractvalue { i8*, i32 } %55, 1
  store i32 %57, i32* %ehselector.slot
  invoke void @_ZN5boost9unit_test17lazy_ostream_implIRKNS0_13basic_cstringIKcEEED1Ev(%"class.boost::unit_test::lazy_ostream_impl.0"* %ref.tmp35)
          to label %invoke.cont49 unwind label %terminate.lpad

invoke.cont49:                                    ; preds = %lpad43
  br label %ehcleanup51

ehcleanup51:                                      ; preds = %invoke.cont49, %lpad36
  invoke void @_ZN5boost10test_tools16predicate_resultD1Ev(%"class.boost::test_tools::predicate_result"* %ref.tmp26)
          to label %invoke.cont52 unwind label %terminate.lpad

invoke.cont52:                                    ; preds = %ehcleanup51
  br label %ehcleanup92

lpad74:                                           ; preds = %invoke.cont81, %invoke.cont75, %invoke.cont72
  %58 = landingpad { i8*, i32 } personality i8* bitcast (i32 (...)* @__gxx_personality_v0 to i8*)
          cleanup
  %59 = extractvalue { i8*, i32 } %58, 0
  store i8* %59, i8** %exn.slot
  %60 = extractvalue { i8*, i32 } %58, 1
  store i32 %60, i32* %ehselector.slot
  invoke void @_ZN5boost9unit_test17lazy_ostream_implIRA1_KcED1Ev(%"class.boost::unit_test::lazy_ostream_impl"* %ref.tmp69)
          to label %invoke.cont88 unwind label %terminate.lpad

invoke.cont88:                                    ; preds = %lpad74
  br label %ehcleanup92

ehcleanup92:                                      ; preds = %invoke.cont88, %invoke.cont52, %lpad21
  invoke void @_ZN5boost2io19basic_ios_tie_saverIcSt11char_traitsIcEED1Ev(%"class.boost::io::basic_ios_tie_saver"* %its)
          to label %invoke.cont93 unwind label %terminate.lpad

invoke.cont93:                                    ; preds = %ehcleanup92
  br label %eh.resume

lpad105:                                          ; preds = %invoke.cont114, %invoke.cont109, %invoke.cont106, %do.body94
  %61 = landingpad { i8*, i32 } personality i8* bitcast (i32 (...)* @__gxx_personality_v0 to i8*)
          cleanup
  %62 = extractvalue { i8*, i32 } %61, 0
  store i8* %62, i8** %exn.slot
  %63 = extractvalue { i8*, i32 } %61, 1
  store i32 %63, i32* %ehselector.slot
  br label %ehcleanup119

lpad112:                                          ; preds = %invoke.cont113, %invoke.cont110
  %64 = landingpad { i8*, i32 } personality i8* bitcast (i32 (...)* @__gxx_personality_v0 to i8*)
          cleanup
  %65 = extractvalue { i8*, i32 } %64, 0
  store i8* %65, i8** %exn.slot
  %66 = extractvalue { i8*, i32 } %64, 1
  store i32 %66, i32* %ehselector.slot
  invoke void @_ZN5boost9unit_test17lazy_ostream_implIRKNS0_13basic_cstringIKcEEED1Ev(%"class.boost::unit_test::lazy_ostream_impl.0"* %ref.tmp104)
          to label %invoke.cont118 unwind label %terminate.lpad

invoke.cont118:                                   ; preds = %lpad112
  br label %ehcleanup119

ehcleanup119:                                     ; preds = %invoke.cont118, %lpad105
  invoke void @_ZN5boost10test_tools16predicate_resultD1Ev(%"class.boost::test_tools::predicate_result"* %ref.tmp97)
          to label %invoke.cont120 unwind label %terminate.lpad

invoke.cont120:                                   ; preds = %ehcleanup119
  br label %eh.resume

lpad132:                                          ; preds = %invoke.cont189, %invoke.cont175, %invoke.cont172, %invoke.cont171, %invoke.cont169, %do.body167, %do.end160, %invoke.cont153, %invoke.cont139, %invoke.cont136, %invoke.cont135, %invoke.cont133, %do.body130
  %67 = landingpad { i8*, i32 } personality i8* bitcast (i32 (...)* @__gxx_personality_v0 to i8*)
          cleanup
  %68 = extractvalue { i8*, i32 } %67, 0
  store i8* %68, i8** %exn.slot
  %69 = extractvalue { i8*, i32 } %67, 1
  store i32 %69, i32* %ehselector.slot
  br label %ehcleanup197

lpad143:                                          ; preds = %invoke.cont150, %invoke.cont144, %invoke.cont141
  %70 = landingpad { i8*, i32 } personality i8* bitcast (i32 (...)* @__gxx_personality_v0 to i8*)
          cleanup
  %71 = extractvalue { i8*, i32 } %70, 0
  store i8* %71, i8** %exn.slot
  %72 = extractvalue { i8*, i32 } %70, 1
  store i32 %72, i32* %ehselector.slot
  invoke void @_ZN5boost9unit_test17lazy_ostream_implIRA1_KcED1Ev(%"class.boost::unit_test::lazy_ostream_impl"* %ref.tmp138)
          to label %invoke.cont157 unwind label %terminate.lpad

invoke.cont157:                                   ; preds = %lpad143
  br label %ehcleanup197

lpad179:                                          ; preds = %invoke.cont186, %invoke.cont180, %invoke.cont177
  %73 = landingpad { i8*, i32 } personality i8* bitcast (i32 (...)* @__gxx_personality_v0 to i8*)
          cleanup
  %74 = extractvalue { i8*, i32 } %73, 0
  store i8* %74, i8** %exn.slot
  %75 = extractvalue { i8*, i32 } %73, 1
  store i32 %75, i32* %ehselector.slot
  invoke void @_ZN5boost9unit_test17lazy_ostream_implIRA1_KcED1Ev(%"class.boost::unit_test::lazy_ostream_impl"* %ref.tmp174)
          to label %invoke.cont193 unwind label %terminate.lpad

invoke.cont193:                                   ; preds = %lpad179
  br label %ehcleanup197

ehcleanup197:                                     ; preds = %invoke.cont193, %invoke.cont157, %lpad132
  invoke void @_ZN5boost2io19basic_ios_tie_saverIcSt11char_traitsIcEED1Ev(%"class.boost::io::basic_ios_tie_saver"* %its124)
          to label %invoke.cont198 unwind label %terminate.lpad

invoke.cont198:                                   ; preds = %ehcleanup197
  br label %eh.resume

lpad210:                                          ; preds = %invoke.cont219, %invoke.cont214, %invoke.cont211, %do.body199
  %76 = landingpad { i8*, i32 } personality i8* bitcast (i32 (...)* @__gxx_personality_v0 to i8*)
          cleanup
  %77 = extractvalue { i8*, i32 } %76, 0
  store i8* %77, i8** %exn.slot
  %78 = extractvalue { i8*, i32 } %76, 1
  store i32 %78, i32* %ehselector.slot
  br label %ehcleanup224

lpad217:                                          ; preds = %invoke.cont218, %invoke.cont215
  %79 = landingpad { i8*, i32 } personality i8* bitcast (i32 (...)* @__gxx_personality_v0 to i8*)
          cleanup
  %80 = extractvalue { i8*, i32 } %79, 0
  store i8* %80, i8** %exn.slot
  %81 = extractvalue { i8*, i32 } %79, 1
  store i32 %81, i32* %ehselector.slot
  invoke void @_ZN5boost9unit_test17lazy_ostream_implIRKNS0_13basic_cstringIKcEEED1Ev(%"class.boost::unit_test::lazy_ostream_impl.0"* %ref.tmp209)
          to label %invoke.cont223 unwind label %terminate.lpad

invoke.cont223:                                   ; preds = %lpad217
  br label %ehcleanup224

ehcleanup224:                                     ; preds = %invoke.cont223, %lpad210
  invoke void @_ZN5boost10test_tools16predicate_resultD1Ev(%"class.boost::test_tools::predicate_result"* %ref.tmp202)
          to label %invoke.cont225 unwind label %terminate.lpad

invoke.cont225:                                   ; preds = %ehcleanup224
  br label %eh.resume

eh.resume:                                        ; preds = %invoke.cont225, %invoke.cont198, %invoke.cont120, %invoke.cont93, %invoke.cont14
  %exn = load i8** %exn.slot
  %sel = load i32* %ehselector.slot
  %lpad.val = insertvalue { i8*, i32 } undef, i8* %exn, 0
  %lpad.val229 = insertvalue { i8*, i32 } %lpad.val, i32 %sel, 1
  resume { i8*, i32 } %lpad.val229

terminate.lpad:                                   ; preds = %ehcleanup224, %lpad217, %ehcleanup197, %lpad179, %lpad143, %ehcleanup119, %lpad112, %ehcleanup92, %lpad74, %ehcleanup51, %lpad43, %ehcleanup, %lpad8
  %82 = landingpad { i8*, i32 } personality i8* bitcast (i32 (...)* @__gxx_personality_v0 to i8*)
          catch i8* null
  call void @_ZSt9terminatev() noreturn nounwind
  unreachable
}

declare %"class.std::basic_ostream"* @_ZNKSt9basic_iosIcSt11char_traitsIcEE3tieEv(%"class.std::basic_ios"*)

define linkonce_odr void @_ZN5boost2io19basic_ios_tie_saverIcSt11char_traitsIcEEC1ERSt9basic_iosIcS3_E(%"class.boost::io::basic_ios_tie_saver"* %this, %"class.std::basic_ios"* %s) unnamed_addr align 2 {
entry:
  %this.addr = alloca %"class.boost::io::basic_ios_tie_saver"*, align 4
  %s.addr = alloca %"class.std::basic_ios"*, align 4
  store %"class.boost::io::basic_ios_tie_saver"* %this, %"class.boost::io::basic_ios_tie_saver"** %this.addr, align 4
  store %"class.std::basic_ios"* %s, %"class.std::basic_ios"** %s.addr, align 4
  %this1 = load %"class.boost::io::basic_ios_tie_saver"** %this.addr
  %0 = load %"class.std::basic_ios"** %s.addr
  call void @_ZN5boost2io19basic_ios_tie_saverIcSt11char_traitsIcEEC2ERSt9basic_iosIcS3_E(%"class.boost::io::basic_ios_tie_saver"* %this1, %"class.std::basic_ios"* %0)
  ret void
}

declare %"class.std::basic_ostream"* @_ZNSt9basic_iosIcSt11char_traitsIcEE3tieEPSo(%"class.std::basic_ios"*, %"class.std::basic_ostream"*)

define linkonce_odr zeroext i1 @_ZN5boost10test_tools9tt_detail10check_frwdINS1_15equal_impl_frwdEPSoS4_EEbT_RKNS_9unit_test12lazy_ostreamENS6_13basic_cstringIKcEEjNS1_10tool_levelENS1_10check_typeERKT0_PSB_RKT1_SI_(%"class.boost::unit_test::lazy_ostream"* %check_descr, %"class.boost::unit_test::basic_cstring"* byval align 4 %file_name, i32 %line_num, i32 %tl, i32 %ct, %"class.std::basic_ostream"** %arg0, i8* %arg0_descr, %"class.std::basic_ostream"** %arg1, i8* %arg1_descr) inlinehint {
entry:
  %P = alloca %"struct.boost::test_tools::tt_detail::equal_impl_frwd", align 1
  %check_descr.addr = alloca %"class.boost::unit_test::lazy_ostream"*, align 4
  %line_num.addr = alloca i32, align 4
  %tl.addr = alloca i32, align 4
  %ct.addr = alloca i32, align 4
  %arg0.addr = alloca %"class.std::basic_ostream"**, align 4
  %arg0_descr.addr = alloca i8*, align 4
  %arg1.addr = alloca %"class.std::basic_ostream"**, align 4
  %arg1_descr.addr = alloca i8*, align 4
  %ref.tmp = alloca %"class.boost::test_tools::predicate_result", align 4
  %agg.tmp = alloca %"class.boost::unit_test::basic_cstring", align 4
  %ref.tmp1 = alloca %"class.boost::unit_test::lazy_ostream_impl.42", align 4
  %exn.slot = alloca i8*
  %ehselector.slot = alloca i32
  %ref.tmp2 = alloca %"struct.boost::test_tools::tt_detail::print_helper_t.43", align 4
  %ref.tmp5 = alloca %"class.boost::unit_test::lazy_ostream_impl.42", align 4
  %ref.tmp9 = alloca %"struct.boost::test_tools::tt_detail::print_helper_t.43", align 4
  store %"class.boost::unit_test::lazy_ostream"* %check_descr, %"class.boost::unit_test::lazy_ostream"** %check_descr.addr, align 4
  store i32 %line_num, i32* %line_num.addr, align 4
  store i32 %tl, i32* %tl.addr, align 4
  store i32 %ct, i32* %ct.addr, align 4
  store %"class.std::basic_ostream"** %arg0, %"class.std::basic_ostream"*** %arg0.addr, align 4
  store i8* %arg0_descr, i8** %arg0_descr.addr, align 4
  store %"class.std::basic_ostream"** %arg1, %"class.std::basic_ostream"*** %arg1.addr, align 4
  store i8* %arg1_descr, i8** %arg1_descr.addr, align 4
  %0 = load %"class.std::basic_ostream"*** %arg0.addr, align 4
  %1 = load %"class.std::basic_ostream"*** %arg1.addr, align 4
  call void @_ZNK5boost10test_tools9tt_detail15equal_impl_frwdclIPSoS4_EENS0_16predicate_resultERKT_RKT0_(%"class.boost::test_tools::predicate_result"* sret %ref.tmp, %"struct.boost::test_tools::tt_detail::equal_impl_frwd"* %P, %"class.std::basic_ostream"** %0, %"class.std::basic_ostream"** %1)
  %2 = load %"class.boost::unit_test::lazy_ostream"** %check_descr.addr, align 4
  %3 = bitcast %"class.boost::unit_test::basic_cstring"* %agg.tmp to i8*
  %4 = bitcast %"class.boost::unit_test::basic_cstring"* %file_name to i8*
  call void @llvm.memcpy.p0i8.p0i8.i32(i8* %3, i8* %4, i32 8, i32 4, i1 false)
  %5 = load i32* %line_num.addr, align 4
  %6 = load i32* %tl.addr, align 4
  %7 = load i32* %ct.addr, align 4
  %8 = load i8** %arg0_descr.addr, align 4
  %call = invoke %"class.boost::unit_test::lazy_ostream"* @_ZN5boost9unit_test12lazy_ostream8instanceEv()
          to label %invoke.cont unwind label %lpad

invoke.cont:                                      ; preds = %entry
  %9 = load %"class.std::basic_ostream"*** %arg0.addr, align 4
  invoke void @_ZN5boost10test_tools9tt_detail12print_helperIPSoEENS1_14print_helper_tIT_EERKS5_(%"struct.boost::test_tools::tt_detail::print_helper_t.43"* sret %ref.tmp2, %"class.std::basic_ostream"** %9)
          to label %invoke.cont3 unwind label %lpad

invoke.cont3:                                     ; preds = %invoke.cont
  invoke void @_ZN5boost9unit_testlsINS_10test_tools9tt_detail14print_helper_tIPSoEEEENS0_17lazy_ostream_implIRKT_EERKNS0_12lazy_ostreamESA_(%"class.boost::unit_test::lazy_ostream_impl.42"* sret %ref.tmp1, %"class.boost::unit_test::lazy_ostream"* %call, %"struct.boost::test_tools::tt_detail::print_helper_t.43"* %ref.tmp2)
          to label %invoke.cont4 unwind label %lpad

invoke.cont4:                                     ; preds = %invoke.cont3
  %10 = bitcast %"class.boost::unit_test::lazy_ostream_impl.42"* %ref.tmp1 to %"class.boost::unit_test::lazy_ostream"*
  %11 = load i8** %arg1_descr.addr, align 4
  %call8 = invoke %"class.boost::unit_test::lazy_ostream"* @_ZN5boost9unit_test12lazy_ostream8instanceEv()
          to label %invoke.cont7 unwind label %lpad6

invoke.cont7:                                     ; preds = %invoke.cont4
  %12 = load %"class.std::basic_ostream"*** %arg1.addr, align 4
  invoke void @_ZN5boost10test_tools9tt_detail12print_helperIPSoEENS1_14print_helper_tIT_EERKS5_(%"struct.boost::test_tools::tt_detail::print_helper_t.43"* sret %ref.tmp9, %"class.std::basic_ostream"** %12)
          to label %invoke.cont10 unwind label %lpad6

invoke.cont10:                                    ; preds = %invoke.cont7
  invoke void @_ZN5boost9unit_testlsINS_10test_tools9tt_detail14print_helper_tIPSoEEEENS0_17lazy_ostream_implIRKT_EERKNS0_12lazy_ostreamESA_(%"class.boost::unit_test::lazy_ostream_impl.42"* sret %ref.tmp5, %"class.boost::unit_test::lazy_ostream"* %call8, %"struct.boost::test_tools::tt_detail::print_helper_t.43"* %ref.tmp9)
          to label %invoke.cont11 unwind label %lpad6

invoke.cont11:                                    ; preds = %invoke.cont10
  %13 = bitcast %"class.boost::unit_test::lazy_ostream_impl.42"* %ref.tmp5 to %"class.boost::unit_test::lazy_ostream"*
  %call14 = invoke zeroext i1 (%"class.boost::test_tools::predicate_result"*, %"class.boost::unit_test::lazy_ostream"*, %"class.boost::unit_test::basic_cstring"*, i32, i32, i32, i32, ...)* @_ZN5boost10test_tools9tt_detail10check_implERKNS0_16predicate_resultERKNS_9unit_test12lazy_ostreamENS5_13basic_cstringIKcEEjNS1_10tool_levelENS1_10check_typeEjz(%"class.boost::test_tools::predicate_result"* %ref.tmp, %"class.boost::unit_test::lazy_ostream"* %2, %"class.boost::unit_test::basic_cstring"* byval align 4 %agg.tmp, i32 %5, i32 %6, i32 %7, i32 2, i8* %8, %"class.boost::unit_test::lazy_ostream"* %10, i8* %11, %"class.boost::unit_test::lazy_ostream"* %13)
          to label %invoke.cont13 unwind label %lpad12

invoke.cont13:                                    ; preds = %invoke.cont11
  invoke void @_ZN5boost9unit_test17lazy_ostream_implIRKNS_10test_tools9tt_detail14print_helper_tIPSoEEED1Ev(%"class.boost::unit_test::lazy_ostream_impl.42"* %ref.tmp5)
          to label %invoke.cont15 unwind label %lpad6

invoke.cont15:                                    ; preds = %invoke.cont13
  invoke void @_ZN5boost9unit_test17lazy_ostream_implIRKNS_10test_tools9tt_detail14print_helper_tIPSoEEED1Ev(%"class.boost::unit_test::lazy_ostream_impl.42"* %ref.tmp1)
          to label %invoke.cont17 unwind label %lpad

invoke.cont17:                                    ; preds = %invoke.cont15
  call void @_ZN5boost10test_tools16predicate_resultD1Ev(%"class.boost::test_tools::predicate_result"* %ref.tmp)
  ret i1 %call14

lpad:                                             ; preds = %invoke.cont15, %invoke.cont3, %invoke.cont, %entry
  %14 = landingpad { i8*, i32 } personality i8* bitcast (i32 (...)* @__gxx_personality_v0 to i8*)
          cleanup
  %15 = extractvalue { i8*, i32 } %14, 0
  store i8* %15, i8** %exn.slot
  %16 = extractvalue { i8*, i32 } %14, 1
  store i32 %16, i32* %ehselector.slot
  br label %ehcleanup19

lpad6:                                            ; preds = %invoke.cont13, %invoke.cont10, %invoke.cont7, %invoke.cont4
  %17 = landingpad { i8*, i32 } personality i8* bitcast (i32 (...)* @__gxx_personality_v0 to i8*)
          cleanup
  %18 = extractvalue { i8*, i32 } %17, 0
  store i8* %18, i8** %exn.slot
  %19 = extractvalue { i8*, i32 } %17, 1
  store i32 %19, i32* %ehselector.slot
  br label %ehcleanup

lpad12:                                           ; preds = %invoke.cont11
  %20 = landingpad { i8*, i32 } personality i8* bitcast (i32 (...)* @__gxx_personality_v0 to i8*)
          cleanup
  %21 = extractvalue { i8*, i32 } %20, 0
  store i8* %21, i8** %exn.slot
  %22 = extractvalue { i8*, i32 } %20, 1
  store i32 %22, i32* %ehselector.slot
  invoke void @_ZN5boost9unit_test17lazy_ostream_implIRKNS_10test_tools9tt_detail14print_helper_tIPSoEEED1Ev(%"class.boost::unit_test::lazy_ostream_impl.42"* %ref.tmp5)
          to label %invoke.cont16 unwind label %terminate.lpad

invoke.cont16:                                    ; preds = %lpad12
  br label %ehcleanup

ehcleanup:                                        ; preds = %invoke.cont16, %lpad6
  invoke void @_ZN5boost9unit_test17lazy_ostream_implIRKNS_10test_tools9tt_detail14print_helper_tIPSoEEED1Ev(%"class.boost::unit_test::lazy_ostream_impl.42"* %ref.tmp1)
          to label %invoke.cont18 unwind label %terminate.lpad

invoke.cont18:                                    ; preds = %ehcleanup
  br label %ehcleanup19

ehcleanup19:                                      ; preds = %invoke.cont18, %lpad
  invoke void @_ZN5boost10test_tools16predicate_resultD1Ev(%"class.boost::test_tools::predicate_result"* %ref.tmp)
          to label %invoke.cont20 unwind label %terminate.lpad

invoke.cont20:                                    ; preds = %ehcleanup19
  br label %eh.resume

eh.resume:                                        ; preds = %invoke.cont20
  %exn = load i8** %exn.slot
  %sel = load i32* %ehselector.slot
  %lpad.val = insertvalue { i8*, i32 } undef, i8* %exn, 0
  %lpad.val21 = insertvalue { i8*, i32 } %lpad.val, i32 %sel, 1
  resume { i8*, i32 } %lpad.val21

terminate.lpad:                                   ; preds = %ehcleanup19, %ehcleanup, %lpad12
  %23 = landingpad { i8*, i32 } personality i8* bitcast (i32 (...)* @__gxx_personality_v0 to i8*)
          catch i8* null
  call void @_ZSt9terminatev() noreturn nounwind
  unreachable
}

define linkonce_odr void @_ZN5boost2io19basic_ios_tie_saverIcSt11char_traitsIcEED1Ev(%"class.boost::io::basic_ios_tie_saver"* %this) unnamed_addr align 2 {
entry:
  %this.addr = alloca %"class.boost::io::basic_ios_tie_saver"*, align 4
  store %"class.boost::io::basic_ios_tie_saver"* %this, %"class.boost::io::basic_ios_tie_saver"** %this.addr, align 4
  %this1 = load %"class.boost::io::basic_ios_tie_saver"** %this.addr
  call void @_ZN5boost2io19basic_ios_tie_saverIcSt11char_traitsIcEED2Ev(%"class.boost::io::basic_ios_tie_saver"* %this1)
  ret void
}

define linkonce_odr void @_ZN5boost2io19basic_ios_tie_saverIcSt11char_traitsIcEEC1ERSt9basic_iosIcS3_ERKPSo(%"class.boost::io::basic_ios_tie_saver"* %this, %"class.std::basic_ios"* %s, %"class.std::basic_ostream"** %a) unnamed_addr align 2 {
entry:
  %this.addr = alloca %"class.boost::io::basic_ios_tie_saver"*, align 4
  %s.addr = alloca %"class.std::basic_ios"*, align 4
  %a.addr = alloca %"class.std::basic_ostream"**, align 4
  store %"class.boost::io::basic_ios_tie_saver"* %this, %"class.boost::io::basic_ios_tie_saver"** %this.addr, align 4
  store %"class.std::basic_ios"* %s, %"class.std::basic_ios"** %s.addr, align 4
  store %"class.std::basic_ostream"** %a, %"class.std::basic_ostream"*** %a.addr, align 4
  %this1 = load %"class.boost::io::basic_ios_tie_saver"** %this.addr
  %0 = load %"class.std::basic_ostream"*** %a.addr
  %1 = load %"class.std::basic_ios"** %s.addr
  call void @_ZN5boost2io19basic_ios_tie_saverIcSt11char_traitsIcEEC2ERSt9basic_iosIcS3_ERKPSo(%"class.boost::io::basic_ios_tie_saver"* %this1, %"class.std::basic_ios"* %1, %"class.std::basic_ostream"** %0)
  ret void
}

define void @_Z25ios_rdbuf_saver_unit_testv() {
entry:
  %s = alloca %"class.std::basic_iostream", align 4
  %agg.tmp = alloca %"class.boost::unit_test::basic_cstring", align 4
  %exn.slot = alloca i8*
  %ehselector.slot = alloca i32
  %agg.tmp1 = alloca %"class.boost::unit_test::basic_cstring", align 4
  %ref.tmp = alloca %"class.boost::test_tools::predicate_result", align 4
  %ref.tmp6 = alloca %"class.boost::unit_test::lazy_ostream_impl.0", align 4
  %ref.tmp10 = alloca %"class.boost::unit_test::basic_cstring", align 4
  %agg.tmp13 = alloca %"class.boost::unit_test::basic_cstring", align 4
  %sb = alloca %"class.std::basic_stringbuf", align 4
  %irs = alloca %"class.boost::io::basic_ios_rdbuf_saver", align 4
  %agg.tmp32 = alloca %"class.boost::unit_test::basic_cstring", align 4
  %agg.tmp35 = alloca %"class.boost::unit_test::basic_cstring", align 4
  %ref.tmp38 = alloca %"class.boost::test_tools::predicate_result", align 4
  %ref.tmp47 = alloca %"class.boost::unit_test::lazy_ostream_impl.0", align 4
  %ref.tmp51 = alloca %"class.boost::unit_test::basic_cstring", align 4
  %agg.tmp54 = alloca %"class.boost::unit_test::basic_cstring", align 4
  %agg.tmp75 = alloca %"class.boost::unit_test::basic_cstring", align 4
  %agg.tmp77 = alloca %"class.boost::unit_test::basic_cstring", align 4
  %agg.tmp80 = alloca %"struct.boost::test_tools::tt_detail::equal_impl_frwd", align 1
  %ref.tmp81 = alloca %"class.boost::unit_test::lazy_ostream_impl", align 4
  %agg.tmp85 = alloca %"class.boost::unit_test::basic_cstring", align 4
  %ref.tmp88 = alloca %"class.std::basic_stringbuf"*, align 4
  %ref.tmp95 = alloca %"class.std::basic_streambuf"*, align 4
  %agg.tmp111 = alloca %"class.boost::unit_test::basic_cstring", align 4
  %agg.tmp113 = alloca %"class.boost::unit_test::basic_cstring", align 4
  %ref.tmp116 = alloca %"class.boost::test_tools::predicate_result", align 4
  %ref.tmp125 = alloca %"class.boost::unit_test::lazy_ostream_impl.0", align 4
  %ref.tmp129 = alloca %"class.boost::unit_test::basic_cstring", align 4
  %agg.tmp132 = alloca %"class.boost::unit_test::basic_cstring", align 4
  %sb1 = alloca %"class.std::basic_stringbuf", align 4
  %sb2 = alloca %"class.std::basic_stringbuf", align 4
  %ref.tmp149 = alloca %"class.std::basic_string", align 4
  %ref.tmp150 = alloca %"class.std::allocator", align 1
  %irs161 = alloca %"class.boost::io::basic_ios_rdbuf_saver", align 4
  %ref.tmp166 = alloca %"class.std::basic_streambuf"*, align 4
  %agg.tmp170 = alloca %"class.boost::unit_test::basic_cstring", align 4
  %agg.tmp173 = alloca %"class.boost::unit_test::basic_cstring", align 4
  %agg.tmp176 = alloca %"struct.boost::test_tools::tt_detail::equal_impl_frwd", align 1
  %ref.tmp177 = alloca %"class.boost::unit_test::lazy_ostream_impl", align 4
  %agg.tmp181 = alloca %"class.boost::unit_test::basic_cstring", align 4
  %ref.tmp184 = alloca %"class.std::basic_stringbuf"*, align 4
  %ref.tmp191 = alloca %"class.std::basic_streambuf"*, align 4
  %agg.tmp207 = alloca %"class.boost::unit_test::basic_cstring", align 4
  %agg.tmp209 = alloca %"class.boost::unit_test::basic_cstring", align 4
  %agg.tmp212 = alloca %"struct.boost::test_tools::tt_detail::equal_impl_frwd", align 1
  %ref.tmp213 = alloca %"class.boost::unit_test::lazy_ostream_impl", align 4
  %agg.tmp217 = alloca %"class.boost::unit_test::basic_cstring", align 4
  %ref.tmp220 = alloca %"class.std::basic_stringbuf"*, align 4
  %ref.tmp227 = alloca %"class.std::basic_streambuf"*, align 4
  %agg.tmp247 = alloca %"class.boost::unit_test::basic_cstring", align 4
  %agg.tmp249 = alloca %"class.boost::unit_test::basic_cstring", align 4
  %ref.tmp252 = alloca %"class.boost::test_tools::predicate_result", align 4
  %ref.tmp261 = alloca %"class.boost::unit_test::lazy_ostream_impl.0", align 4
  %ref.tmp265 = alloca %"class.boost::unit_test::basic_cstring", align 4
  %agg.tmp268 = alloca %"class.boost::unit_test::basic_cstring", align 4
  call void @_ZNSdC1EPSt15basic_streambufIcSt11char_traitsIcEE(%"class.std::basic_iostream"* %s, %"class.std::basic_streambuf"* null)
  br label %do.body

do.body:                                          ; preds = %do.cond, %entry
  %0 = load %"class.boost::unit_test::unit_test_log_t"** @_ZN5boost9unit_test12_GLOBAL__N_113unit_test_logE, align 4
  invoke void @_ZN5boost9unit_test13basic_cstringIKcEC1EPS2_j(%"class.boost::unit_test::basic_cstring"* %agg.tmp, i8* getelementptr inbounds ([24 x i8]* @.str, i32 0, i32 0), i32 23)
          to label %invoke.cont unwind label %lpad

invoke.cont:                                      ; preds = %do.body
  invoke void @_ZN5boost9unit_test13basic_cstringIKcEC1Ev(%"class.boost::unit_test::basic_cstring"* %agg.tmp1)
          to label %invoke.cont2 unwind label %lpad

invoke.cont2:                                     ; preds = %invoke.cont
  invoke void @_ZN5boost9unit_test15unit_test_log_t14set_checkpointENS0_13basic_cstringIKcEEjS4_(%"class.boost::unit_test::unit_test_log_t"* %0, %"class.boost::unit_test::basic_cstring"* byval align 4 %agg.tmp, i32 299, %"class.boost::unit_test::basic_cstring"* byval align 4 %agg.tmp1)
          to label %invoke.cont3 unwind label %lpad

invoke.cont3:                                     ; preds = %invoke.cont2
  %1 = bitcast %"class.std::basic_iostream"* %s to i8**
  %vtable = load i8** %1
  %vbase.offset.ptr = getelementptr i8* %vtable, i64 -12
  %2 = bitcast i8* %vbase.offset.ptr to i32*
  %vbase.offset = load i32* %2
  %3 = bitcast %"class.std::basic_iostream"* %s to i8*
  %add.ptr = getelementptr inbounds i8* %3, i32 %vbase.offset
  %4 = bitcast i8* %add.ptr to %"class.std::basic_ios"*
  %call = invoke %"class.std::basic_streambuf"* @_ZNKSt9basic_iosIcSt11char_traitsIcEE5rdbufEv(%"class.std::basic_ios"* %4)
          to label %invoke.cont4 unwind label %lpad

invoke.cont4:                                     ; preds = %invoke.cont3
  %cmp = icmp eq %"class.std::basic_streambuf"* null, %call
  invoke void @_ZN5boost10test_tools16predicate_resultC1Eb(%"class.boost::test_tools::predicate_result"* %ref.tmp, i1 zeroext %cmp)
          to label %invoke.cont5 unwind label %lpad

invoke.cont5:                                     ; preds = %invoke.cont4
  %call9 = invoke %"class.boost::unit_test::lazy_ostream"* @_ZN5boost9unit_test12lazy_ostream8instanceEv()
          to label %invoke.cont8 unwind label %lpad7

invoke.cont8:                                     ; preds = %invoke.cont5
  invoke void @_ZN5boost9unit_test13basic_cstringIKcEC1EPS2_j(%"class.boost::unit_test::basic_cstring"* %ref.tmp10, i8* getelementptr inbounds ([20 x i8]* @.str37, i32 0, i32 0), i32 19)
          to label %invoke.cont11 unwind label %lpad7

invoke.cont11:                                    ; preds = %invoke.cont8
  invoke void @_ZN5boost9unit_testlsINS0_13basic_cstringIKcEEEENS0_17lazy_ostream_implIRKT_EERKNS0_12lazy_ostreamES8_(%"class.boost::unit_test::lazy_ostream_impl.0"* sret %ref.tmp6, %"class.boost::unit_test::lazy_ostream"* %call9, %"class.boost::unit_test::basic_cstring"* %ref.tmp10)
          to label %invoke.cont12 unwind label %lpad7

invoke.cont12:                                    ; preds = %invoke.cont11
  %5 = bitcast %"class.boost::unit_test::lazy_ostream_impl.0"* %ref.tmp6 to %"class.boost::unit_test::lazy_ostream"*
  invoke void @_ZN5boost9unit_test13basic_cstringIKcEC1EPS2_j(%"class.boost::unit_test::basic_cstring"* %agg.tmp13, i8* getelementptr inbounds ([24 x i8]* @.str, i32 0, i32 0), i32 23)
          to label %invoke.cont15 unwind label %lpad14

invoke.cont15:                                    ; preds = %invoke.cont12
  %call17 = invoke zeroext i1 (%"class.boost::test_tools::predicate_result"*, %"class.boost::unit_test::lazy_ostream"*, %"class.boost::unit_test::basic_cstring"*, i32, i32, i32, i32, ...)* @_ZN5boost10test_tools9tt_detail10check_implERKNS0_16predicate_resultERKNS_9unit_test12lazy_ostreamENS5_13basic_cstringIKcEEjNS1_10tool_levelENS1_10check_typeEjz(%"class.boost::test_tools::predicate_result"* %ref.tmp, %"class.boost::unit_test::lazy_ostream"* %5, %"class.boost::unit_test::basic_cstring"* byval align 4 %agg.tmp13, i32 299, i32 1, i32 0, i32 0)
          to label %invoke.cont16 unwind label %lpad14

invoke.cont16:                                    ; preds = %invoke.cont15
  invoke void @_ZN5boost9unit_test17lazy_ostream_implIRKNS0_13basic_cstringIKcEEED1Ev(%"class.boost::unit_test::lazy_ostream_impl.0"* %ref.tmp6)
          to label %invoke.cont18 unwind label %lpad7

invoke.cont18:                                    ; preds = %invoke.cont16
  invoke void @_ZN5boost10test_tools16predicate_resultD1Ev(%"class.boost::test_tools::predicate_result"* %ref.tmp)
          to label %invoke.cont20 unwind label %lpad

invoke.cont20:                                    ; preds = %invoke.cont18
  br label %do.cond

do.cond:                                          ; preds = %invoke.cont20
  %6 = load i8* @_ZN5boost10test_tools12_GLOBAL__N_110dummy_condE, align 1
  %tobool = trunc i8 %6 to i1
  br i1 %tobool, label %do.body, label %do.end

do.end:                                           ; preds = %do.cond
  %call23 = invoke i32 @_ZStorSt13_Ios_OpenmodeS_(i32 8, i32 16)
          to label %invoke.cont22 unwind label %lpad

invoke.cont22:                                    ; preds = %do.end
  invoke void @_ZNSt15basic_stringbufIcSt11char_traitsIcESaIcEEC1ESt13_Ios_Openmode(%"class.std::basic_stringbuf"* %sb, i32 %call23)
          to label %invoke.cont24 unwind label %lpad

invoke.cont24:                                    ; preds = %invoke.cont22
  %7 = bitcast %"class.std::basic_iostream"* %s to i8**
  %vtable25 = load i8** %7
  %vbase.offset.ptr26 = getelementptr i8* %vtable25, i64 -12
  %8 = bitcast i8* %vbase.offset.ptr26 to i32*
  %vbase.offset27 = load i32* %8
  %9 = bitcast %"class.std::basic_iostream"* %s to i8*
  %add.ptr28 = getelementptr inbounds i8* %9, i32 %vbase.offset27
  %10 = bitcast i8* %add.ptr28 to %"class.std::basic_ios"*
  invoke void @_ZN5boost2io21basic_ios_rdbuf_saverIcSt11char_traitsIcEEC1ERSt9basic_iosIcS3_E(%"class.boost::io::basic_ios_rdbuf_saver"* %irs, %"class.std::basic_ios"* %10)
          to label %invoke.cont30 unwind label %lpad29

invoke.cont30:                                    ; preds = %invoke.cont24
  br label %do.body31

do.body31:                                        ; preds = %do.cond65, %invoke.cont30
  %11 = load %"class.boost::unit_test::unit_test_log_t"** @_ZN5boost9unit_test12_GLOBAL__N_113unit_test_logE, align 4
  invoke void @_ZN5boost9unit_test13basic_cstringIKcEC1EPS2_j(%"class.boost::unit_test::basic_cstring"* %agg.tmp32, i8* getelementptr inbounds ([24 x i8]* @.str, i32 0, i32 0), i32 23)
          to label %invoke.cont34 unwind label %lpad33

invoke.cont34:                                    ; preds = %do.body31
  invoke void @_ZN5boost9unit_test13basic_cstringIKcEC1Ev(%"class.boost::unit_test::basic_cstring"* %agg.tmp35)
          to label %invoke.cont36 unwind label %lpad33

invoke.cont36:                                    ; preds = %invoke.cont34
  invoke void @_ZN5boost9unit_test15unit_test_log_t14set_checkpointENS0_13basic_cstringIKcEEjS4_(%"class.boost::unit_test::unit_test_log_t"* %11, %"class.boost::unit_test::basic_cstring"* byval align 4 %agg.tmp32, i32 305, %"class.boost::unit_test::basic_cstring"* byval align 4 %agg.tmp35)
          to label %invoke.cont37 unwind label %lpad33

invoke.cont37:                                    ; preds = %invoke.cont36
  %12 = bitcast %"class.std::basic_iostream"* %s to i8**
  %vtable39 = load i8** %12
  %vbase.offset.ptr40 = getelementptr i8* %vtable39, i64 -12
  %13 = bitcast i8* %vbase.offset.ptr40 to i32*
  %vbase.offset41 = load i32* %13
  %14 = bitcast %"class.std::basic_iostream"* %s to i8*
  %add.ptr42 = getelementptr inbounds i8* %14, i32 %vbase.offset41
  %15 = bitcast i8* %add.ptr42 to %"class.std::basic_ios"*
  %call44 = invoke %"class.std::basic_streambuf"* @_ZNKSt9basic_iosIcSt11char_traitsIcEE5rdbufEv(%"class.std::basic_ios"* %15)
          to label %invoke.cont43 unwind label %lpad33

invoke.cont43:                                    ; preds = %invoke.cont37
  %cmp45 = icmp eq %"class.std::basic_streambuf"* null, %call44
  invoke void @_ZN5boost10test_tools16predicate_resultC1Eb(%"class.boost::test_tools::predicate_result"* %ref.tmp38, i1 zeroext %cmp45)
          to label %invoke.cont46 unwind label %lpad33

invoke.cont46:                                    ; preds = %invoke.cont43
  %call50 = invoke %"class.boost::unit_test::lazy_ostream"* @_ZN5boost9unit_test12lazy_ostream8instanceEv()
          to label %invoke.cont49 unwind label %lpad48

invoke.cont49:                                    ; preds = %invoke.cont46
  invoke void @_ZN5boost9unit_test13basic_cstringIKcEC1EPS2_j(%"class.boost::unit_test::basic_cstring"* %ref.tmp51, i8* getelementptr inbounds ([20 x i8]* @.str37, i32 0, i32 0), i32 19)
          to label %invoke.cont52 unwind label %lpad48

invoke.cont52:                                    ; preds = %invoke.cont49
  invoke void @_ZN5boost9unit_testlsINS0_13basic_cstringIKcEEEENS0_17lazy_ostream_implIRKT_EERKNS0_12lazy_ostreamES8_(%"class.boost::unit_test::lazy_ostream_impl.0"* sret %ref.tmp47, %"class.boost::unit_test::lazy_ostream"* %call50, %"class.boost::unit_test::basic_cstring"* %ref.tmp51)
          to label %invoke.cont53 unwind label %lpad48

invoke.cont53:                                    ; preds = %invoke.cont52
  %16 = bitcast %"class.boost::unit_test::lazy_ostream_impl.0"* %ref.tmp47 to %"class.boost::unit_test::lazy_ostream"*
  invoke void @_ZN5boost9unit_test13basic_cstringIKcEC1EPS2_j(%"class.boost::unit_test::basic_cstring"* %agg.tmp54, i8* getelementptr inbounds ([24 x i8]* @.str, i32 0, i32 0), i32 23)
          to label %invoke.cont56 unwind label %lpad55

invoke.cont56:                                    ; preds = %invoke.cont53
  %call58 = invoke zeroext i1 (%"class.boost::test_tools::predicate_result"*, %"class.boost::unit_test::lazy_ostream"*, %"class.boost::unit_test::basic_cstring"*, i32, i32, i32, i32, ...)* @_ZN5boost10test_tools9tt_detail10check_implERKNS0_16predicate_resultERKNS_9unit_test12lazy_ostreamENS5_13basic_cstringIKcEEjNS1_10tool_levelENS1_10check_typeEjz(%"class.boost::test_tools::predicate_result"* %ref.tmp38, %"class.boost::unit_test::lazy_ostream"* %16, %"class.boost::unit_test::basic_cstring"* byval align 4 %agg.tmp54, i32 305, i32 1, i32 0, i32 0)
          to label %invoke.cont57 unwind label %lpad55

invoke.cont57:                                    ; preds = %invoke.cont56
  invoke void @_ZN5boost9unit_test17lazy_ostream_implIRKNS0_13basic_cstringIKcEEED1Ev(%"class.boost::unit_test::lazy_ostream_impl.0"* %ref.tmp47)
          to label %invoke.cont59 unwind label %lpad48

invoke.cont59:                                    ; preds = %invoke.cont57
  invoke void @_ZN5boost10test_tools16predicate_resultD1Ev(%"class.boost::test_tools::predicate_result"* %ref.tmp38)
          to label %invoke.cont62 unwind label %lpad33

invoke.cont62:                                    ; preds = %invoke.cont59
  br label %do.cond65

do.cond65:                                        ; preds = %invoke.cont62
  %17 = load i8* @_ZN5boost10test_tools12_GLOBAL__N_110dummy_condE, align 1
  %tobool66 = trunc i8 %17 to i1
  br i1 %tobool66, label %do.body31, label %do.end67

do.end67:                                         ; preds = %do.cond65
  %18 = bitcast %"class.std::basic_iostream"* %s to i8**
  %vtable68 = load i8** %18
  %vbase.offset.ptr69 = getelementptr i8* %vtable68, i64 -12
  %19 = bitcast i8* %vbase.offset.ptr69 to i32*
  %vbase.offset70 = load i32* %19
  %20 = bitcast %"class.std::basic_iostream"* %s to i8*
  %add.ptr71 = getelementptr inbounds i8* %20, i32 %vbase.offset70
  %21 = bitcast i8* %add.ptr71 to %"class.std::basic_ios"*
  %22 = bitcast %"class.std::basic_stringbuf"* %sb to %"class.std::basic_streambuf"*
  %call73 = invoke %"class.std::basic_streambuf"* @_ZNSt9basic_iosIcSt11char_traitsIcEE5rdbufEPSt15basic_streambufIcS1_E(%"class.std::basic_ios"* %21, %"class.std::basic_streambuf"* %22)
          to label %invoke.cont72 unwind label %lpad33

invoke.cont72:                                    ; preds = %do.end67
  br label %do.body74

do.body74:                                        ; preds = %do.cond101, %invoke.cont72
  %23 = load %"class.boost::unit_test::unit_test_log_t"** @_ZN5boost9unit_test12_GLOBAL__N_113unit_test_logE, align 4
  invoke void @_ZN5boost9unit_test13basic_cstringIKcEC1EPS2_j(%"class.boost::unit_test::basic_cstring"* %agg.tmp75, i8* getelementptr inbounds ([24 x i8]* @.str, i32 0, i32 0), i32 23)
          to label %invoke.cont76 unwind label %lpad33

invoke.cont76:                                    ; preds = %do.body74
  invoke void @_ZN5boost9unit_test13basic_cstringIKcEC1Ev(%"class.boost::unit_test::basic_cstring"* %agg.tmp77)
          to label %invoke.cont78 unwind label %lpad33

invoke.cont78:                                    ; preds = %invoke.cont76
  invoke void @_ZN5boost9unit_test15unit_test_log_t14set_checkpointENS0_13basic_cstringIKcEEjS4_(%"class.boost::unit_test::unit_test_log_t"* %23, %"class.boost::unit_test::basic_cstring"* byval align 4 %agg.tmp75, i32 308, %"class.boost::unit_test::basic_cstring"* byval align 4 %agg.tmp77)
          to label %invoke.cont79 unwind label %lpad33

invoke.cont79:                                    ; preds = %invoke.cont78
  %call83 = invoke %"class.boost::unit_test::lazy_ostream"* @_ZN5boost9unit_test12lazy_ostream8instanceEv()
          to label %invoke.cont82 unwind label %lpad33

invoke.cont82:                                    ; preds = %invoke.cont79
  invoke void @_ZN5boost9unit_testlsIA1_cEENS0_17lazy_ostream_implIRKT_EERKNS0_12lazy_ostreamES6_(%"class.boost::unit_test::lazy_ostream_impl"* sret %ref.tmp81, %"class.boost::unit_test::lazy_ostream"* %call83, [1 x i8]* @.str3)
          to label %invoke.cont84 unwind label %lpad33

invoke.cont84:                                    ; preds = %invoke.cont82
  %24 = bitcast %"class.boost::unit_test::lazy_ostream_impl"* %ref.tmp81 to %"class.boost::unit_test::lazy_ostream"*
  invoke void @_ZN5boost9unit_test13basic_cstringIKcEC1EPS2_j(%"class.boost::unit_test::basic_cstring"* %agg.tmp85, i8* getelementptr inbounds ([24 x i8]* @.str, i32 0, i32 0), i32 23)
          to label %invoke.cont87 unwind label %lpad86

invoke.cont87:                                    ; preds = %invoke.cont84
  store %"class.std::basic_stringbuf"* %sb, %"class.std::basic_stringbuf"** %ref.tmp88, align 4
  %25 = bitcast %"class.std::basic_iostream"* %s to i8**
  %vtable89 = load i8** %25
  %vbase.offset.ptr90 = getelementptr i8* %vtable89, i64 -12
  %26 = bitcast i8* %vbase.offset.ptr90 to i32*
  %vbase.offset91 = load i32* %26
  %27 = bitcast %"class.std::basic_iostream"* %s to i8*
  %add.ptr92 = getelementptr inbounds i8* %27, i32 %vbase.offset91
  %28 = bitcast i8* %add.ptr92 to %"class.std::basic_ios"*
  %call94 = invoke %"class.std::basic_streambuf"* @_ZNKSt9basic_iosIcSt11char_traitsIcEE5rdbufEv(%"class.std::basic_ios"* %28)
          to label %invoke.cont93 unwind label %lpad86

invoke.cont93:                                    ; preds = %invoke.cont87
  store %"class.std::basic_streambuf"* %call94, %"class.std::basic_streambuf"** %ref.tmp95, align 4
  %call97 = invoke zeroext i1 @_ZN5boost10test_tools9tt_detail10check_frwdINS1_15equal_impl_frwdEPSt15basic_stringbufIcSt11char_traitsIcESaIcEEPSt15basic_streambufIcS6_EEEbT_RKNS_9unit_test12lazy_ostreamENSE_13basic_cstringIKcEEjNS1_10tool_levelENS1_10check_typeERKT0_PSJ_RKT1_SQ_(%"class.boost::unit_test::lazy_ostream"* %24, %"class.boost::unit_test::basic_cstring"* byval align 4 %agg.tmp85, i32 308, i32 1, i32 2, %"class.std::basic_stringbuf"** %ref.tmp88, i8* getelementptr inbounds ([4 x i8]* @.str38, i32 0, i32 0), %"class.std::basic_streambuf"** %ref.tmp95, i8* getelementptr inbounds ([10 x i8]* @.str39, i32 0, i32 0))
          to label %invoke.cont96 unwind label %lpad86

invoke.cont96:                                    ; preds = %invoke.cont93
  invoke void @_ZN5boost9unit_test17lazy_ostream_implIRA1_KcED1Ev(%"class.boost::unit_test::lazy_ostream_impl"* %ref.tmp81)
          to label %invoke.cont98 unwind label %lpad33

invoke.cont98:                                    ; preds = %invoke.cont96
  br label %do.cond101

do.cond101:                                       ; preds = %invoke.cont98
  %29 = load i8* @_ZN5boost10test_tools12_GLOBAL__N_110dummy_condE, align 1
  %tobool102 = trunc i8 %29 to i1
  br i1 %tobool102, label %do.body74, label %do.end103

do.end103:                                        ; preds = %do.cond101
  invoke void @_ZN5boost2io21basic_ios_rdbuf_saverIcSt11char_traitsIcEED1Ev(%"class.boost::io::basic_ios_rdbuf_saver"* %irs)
          to label %invoke.cont104 unwind label %lpad29

invoke.cont104:                                   ; preds = %do.end103
  invoke void @_ZNSt15basic_stringbufIcSt11char_traitsIcESaIcEED1Ev(%"class.std::basic_stringbuf"* %sb)
          to label %invoke.cont107 unwind label %lpad

invoke.cont107:                                   ; preds = %invoke.cont104
  br label %do.body110

do.body110:                                       ; preds = %do.cond143, %invoke.cont107
  %30 = load %"class.boost::unit_test::unit_test_log_t"** @_ZN5boost9unit_test12_GLOBAL__N_113unit_test_logE, align 4
  invoke void @_ZN5boost9unit_test13basic_cstringIKcEC1EPS2_j(%"class.boost::unit_test::basic_cstring"* %agg.tmp111, i8* getelementptr inbounds ([24 x i8]* @.str, i32 0, i32 0), i32 23)
          to label %invoke.cont112 unwind label %lpad

invoke.cont112:                                   ; preds = %do.body110
  invoke void @_ZN5boost9unit_test13basic_cstringIKcEC1Ev(%"class.boost::unit_test::basic_cstring"* %agg.tmp113)
          to label %invoke.cont114 unwind label %lpad

invoke.cont114:                                   ; preds = %invoke.cont112
  invoke void @_ZN5boost9unit_test15unit_test_log_t14set_checkpointENS0_13basic_cstringIKcEEjS4_(%"class.boost::unit_test::unit_test_log_t"* %30, %"class.boost::unit_test::basic_cstring"* byval align 4 %agg.tmp111, i32 311, %"class.boost::unit_test::basic_cstring"* byval align 4 %agg.tmp113)
          to label %invoke.cont115 unwind label %lpad

invoke.cont115:                                   ; preds = %invoke.cont114
  %31 = bitcast %"class.std::basic_iostream"* %s to i8**
  %vtable117 = load i8** %31
  %vbase.offset.ptr118 = getelementptr i8* %vtable117, i64 -12
  %32 = bitcast i8* %vbase.offset.ptr118 to i32*
  %vbase.offset119 = load i32* %32
  %33 = bitcast %"class.std::basic_iostream"* %s to i8*
  %add.ptr120 = getelementptr inbounds i8* %33, i32 %vbase.offset119
  %34 = bitcast i8* %add.ptr120 to %"class.std::basic_ios"*
  %call122 = invoke %"class.std::basic_streambuf"* @_ZNKSt9basic_iosIcSt11char_traitsIcEE5rdbufEv(%"class.std::basic_ios"* %34)
          to label %invoke.cont121 unwind label %lpad

invoke.cont121:                                   ; preds = %invoke.cont115
  %cmp123 = icmp eq %"class.std::basic_streambuf"* null, %call122
  invoke void @_ZN5boost10test_tools16predicate_resultC1Eb(%"class.boost::test_tools::predicate_result"* %ref.tmp116, i1 zeroext %cmp123)
          to label %invoke.cont124 unwind label %lpad

invoke.cont124:                                   ; preds = %invoke.cont121
  %call128 = invoke %"class.boost::unit_test::lazy_ostream"* @_ZN5boost9unit_test12lazy_ostream8instanceEv()
          to label %invoke.cont127 unwind label %lpad126

invoke.cont127:                                   ; preds = %invoke.cont124
  invoke void @_ZN5boost9unit_test13basic_cstringIKcEC1EPS2_j(%"class.boost::unit_test::basic_cstring"* %ref.tmp129, i8* getelementptr inbounds ([20 x i8]* @.str37, i32 0, i32 0), i32 19)
          to label %invoke.cont130 unwind label %lpad126

invoke.cont130:                                   ; preds = %invoke.cont127
  invoke void @_ZN5boost9unit_testlsINS0_13basic_cstringIKcEEEENS0_17lazy_ostream_implIRKT_EERKNS0_12lazy_ostreamES8_(%"class.boost::unit_test::lazy_ostream_impl.0"* sret %ref.tmp125, %"class.boost::unit_test::lazy_ostream"* %call128, %"class.boost::unit_test::basic_cstring"* %ref.tmp129)
          to label %invoke.cont131 unwind label %lpad126

invoke.cont131:                                   ; preds = %invoke.cont130
  %35 = bitcast %"class.boost::unit_test::lazy_ostream_impl.0"* %ref.tmp125 to %"class.boost::unit_test::lazy_ostream"*
  invoke void @_ZN5boost9unit_test13basic_cstringIKcEC1EPS2_j(%"class.boost::unit_test::basic_cstring"* %agg.tmp132, i8* getelementptr inbounds ([24 x i8]* @.str, i32 0, i32 0), i32 23)
          to label %invoke.cont134 unwind label %lpad133

invoke.cont134:                                   ; preds = %invoke.cont131
  %call136 = invoke zeroext i1 (%"class.boost::test_tools::predicate_result"*, %"class.boost::unit_test::lazy_ostream"*, %"class.boost::unit_test::basic_cstring"*, i32, i32, i32, i32, ...)* @_ZN5boost10test_tools9tt_detail10check_implERKNS0_16predicate_resultERKNS_9unit_test12lazy_ostreamENS5_13basic_cstringIKcEEjNS1_10tool_levelENS1_10check_typeEjz(%"class.boost::test_tools::predicate_result"* %ref.tmp116, %"class.boost::unit_test::lazy_ostream"* %35, %"class.boost::unit_test::basic_cstring"* byval align 4 %agg.tmp132, i32 311, i32 1, i32 0, i32 0)
          to label %invoke.cont135 unwind label %lpad133

invoke.cont135:                                   ; preds = %invoke.cont134
  invoke void @_ZN5boost9unit_test17lazy_ostream_implIRKNS0_13basic_cstringIKcEEED1Ev(%"class.boost::unit_test::lazy_ostream_impl.0"* %ref.tmp125)
          to label %invoke.cont137 unwind label %lpad126

invoke.cont137:                                   ; preds = %invoke.cont135
  invoke void @_ZN5boost10test_tools16predicate_resultD1Ev(%"class.boost::test_tools::predicate_result"* %ref.tmp116)
          to label %invoke.cont140 unwind label %lpad

invoke.cont140:                                   ; preds = %invoke.cont137
  br label %do.cond143

do.cond143:                                       ; preds = %invoke.cont140
  %36 = load i8* @_ZN5boost10test_tools12_GLOBAL__N_110dummy_condE, align 1
  %tobool144 = trunc i8 %36 to i1
  br i1 %tobool144, label %do.body110, label %do.end145

do.end145:                                        ; preds = %do.cond143
  %call147 = invoke i32 @_ZStorSt13_Ios_OpenmodeS_(i32 8, i32 16)
          to label %invoke.cont146 unwind label %lpad

invoke.cont146:                                   ; preds = %do.end145
  invoke void @_ZNSt15basic_stringbufIcSt11char_traitsIcESaIcEEC1ESt13_Ios_Openmode(%"class.std::basic_stringbuf"* %sb1, i32 %call147)
          to label %invoke.cont148 unwind label %lpad

invoke.cont148:                                   ; preds = %invoke.cont146
  call void @_ZNSaIcEC1Ev(%"class.std::allocator"* %ref.tmp150) nounwind
  invoke void @_ZNSsC1EPKcRKSaIcE(%"class.std::basic_string"* %ref.tmp149, i8* getelementptr inbounds ([9 x i8]* @.str40, i32 0, i32 0), %"class.std::allocator"* %ref.tmp150)
          to label %invoke.cont152 unwind label %lpad151

invoke.cont152:                                   ; preds = %invoke.cont148
  %call155 = invoke i32 @_ZStorSt13_Ios_OpenmodeS_(i32 8, i32 16)
          to label %invoke.cont154 unwind label %lpad153

invoke.cont154:                                   ; preds = %invoke.cont152
  invoke void @_ZNSt15basic_stringbufIcSt11char_traitsIcESaIcEEC1ERKSsSt13_Ios_Openmode(%"class.std::basic_stringbuf"* %sb2, %"class.std::basic_string"* %ref.tmp149, i32 %call155)
          to label %invoke.cont156 unwind label %lpad153

invoke.cont156:                                   ; preds = %invoke.cont154
  invoke void @_ZNSsD1Ev(%"class.std::basic_string"* %ref.tmp149)
          to label %invoke.cont157 unwind label %lpad151

invoke.cont157:                                   ; preds = %invoke.cont156
  call void @_ZNSaIcED1Ev(%"class.std::allocator"* %ref.tmp150) nounwind
  %37 = bitcast %"class.std::basic_iostream"* %s to i8**
  %vtable162 = load i8** %37
  %vbase.offset.ptr163 = getelementptr i8* %vtable162, i64 -12
  %38 = bitcast i8* %vbase.offset.ptr163 to i32*
  %vbase.offset164 = load i32* %38
  %39 = bitcast %"class.std::basic_iostream"* %s to i8*
  %add.ptr165 = getelementptr inbounds i8* %39, i32 %vbase.offset164
  %40 = bitcast i8* %add.ptr165 to %"class.std::basic_ios"*
  %41 = bitcast %"class.std::basic_stringbuf"* %sb1 to %"class.std::basic_streambuf"*
  store %"class.std::basic_streambuf"* %41, %"class.std::basic_streambuf"** %ref.tmp166, align 4
  invoke void @_ZN5boost2io21basic_ios_rdbuf_saverIcSt11char_traitsIcEEC1ERSt9basic_iosIcS3_ERKPSt15basic_streambufIcS3_E(%"class.boost::io::basic_ios_rdbuf_saver"* %irs161, %"class.std::basic_ios"* %40, %"class.std::basic_streambuf"** %ref.tmp166)
          to label %invoke.cont168 unwind label %lpad167

invoke.cont168:                                   ; preds = %invoke.cont157
  br label %do.body169

do.body169:                                       ; preds = %do.cond197, %invoke.cont168
  %42 = load %"class.boost::unit_test::unit_test_log_t"** @_ZN5boost9unit_test12_GLOBAL__N_113unit_test_logE, align 4
  invoke void @_ZN5boost9unit_test13basic_cstringIKcEC1EPS2_j(%"class.boost::unit_test::basic_cstring"* %agg.tmp170, i8* getelementptr inbounds ([24 x i8]* @.str, i32 0, i32 0), i32 23)
          to label %invoke.cont172 unwind label %lpad171

invoke.cont172:                                   ; preds = %do.body169
  invoke void @_ZN5boost9unit_test13basic_cstringIKcEC1Ev(%"class.boost::unit_test::basic_cstring"* %agg.tmp173)
          to label %invoke.cont174 unwind label %lpad171

invoke.cont174:                                   ; preds = %invoke.cont172
  invoke void @_ZN5boost9unit_test15unit_test_log_t14set_checkpointENS0_13basic_cstringIKcEEjS4_(%"class.boost::unit_test::unit_test_log_t"* %42, %"class.boost::unit_test::basic_cstring"* byval align 4 %agg.tmp170, i32 317, %"class.boost::unit_test::basic_cstring"* byval align 4 %agg.tmp173)
          to label %invoke.cont175 unwind label %lpad171

invoke.cont175:                                   ; preds = %invoke.cont174
  %call179 = invoke %"class.boost::unit_test::lazy_ostream"* @_ZN5boost9unit_test12lazy_ostream8instanceEv()
          to label %invoke.cont178 unwind label %lpad171

invoke.cont178:                                   ; preds = %invoke.cont175
  invoke void @_ZN5boost9unit_testlsIA1_cEENS0_17lazy_ostream_implIRKT_EERKNS0_12lazy_ostreamES6_(%"class.boost::unit_test::lazy_ostream_impl"* sret %ref.tmp177, %"class.boost::unit_test::lazy_ostream"* %call179, [1 x i8]* @.str3)
          to label %invoke.cont180 unwind label %lpad171

invoke.cont180:                                   ; preds = %invoke.cont178
  %43 = bitcast %"class.boost::unit_test::lazy_ostream_impl"* %ref.tmp177 to %"class.boost::unit_test::lazy_ostream"*
  invoke void @_ZN5boost9unit_test13basic_cstringIKcEC1EPS2_j(%"class.boost::unit_test::basic_cstring"* %agg.tmp181, i8* getelementptr inbounds ([24 x i8]* @.str, i32 0, i32 0), i32 23)
          to label %invoke.cont183 unwind label %lpad182

invoke.cont183:                                   ; preds = %invoke.cont180
  store %"class.std::basic_stringbuf"* %sb1, %"class.std::basic_stringbuf"** %ref.tmp184, align 4
  %44 = bitcast %"class.std::basic_iostream"* %s to i8**
  %vtable185 = load i8** %44
  %vbase.offset.ptr186 = getelementptr i8* %vtable185, i64 -12
  %45 = bitcast i8* %vbase.offset.ptr186 to i32*
  %vbase.offset187 = load i32* %45
  %46 = bitcast %"class.std::basic_iostream"* %s to i8*
  %add.ptr188 = getelementptr inbounds i8* %46, i32 %vbase.offset187
  %47 = bitcast i8* %add.ptr188 to %"class.std::basic_ios"*
  %call190 = invoke %"class.std::basic_streambuf"* @_ZNKSt9basic_iosIcSt11char_traitsIcEE5rdbufEv(%"class.std::basic_ios"* %47)
          to label %invoke.cont189 unwind label %lpad182

invoke.cont189:                                   ; preds = %invoke.cont183
  store %"class.std::basic_streambuf"* %call190, %"class.std::basic_streambuf"** %ref.tmp191, align 4
  %call193 = invoke zeroext i1 @_ZN5boost10test_tools9tt_detail10check_frwdINS1_15equal_impl_frwdEPSt15basic_stringbufIcSt11char_traitsIcESaIcEEPSt15basic_streambufIcS6_EEEbT_RKNS_9unit_test12lazy_ostreamENSE_13basic_cstringIKcEEjNS1_10tool_levelENS1_10check_typeERKT0_PSJ_RKT1_SQ_(%"class.boost::unit_test::lazy_ostream"* %43, %"class.boost::unit_test::basic_cstring"* byval align 4 %agg.tmp181, i32 317, i32 1, i32 2, %"class.std::basic_stringbuf"** %ref.tmp184, i8* getelementptr inbounds ([5 x i8]* @.str41, i32 0, i32 0), %"class.std::basic_streambuf"** %ref.tmp191, i8* getelementptr inbounds ([10 x i8]* @.str39, i32 0, i32 0))
          to label %invoke.cont192 unwind label %lpad182

invoke.cont192:                                   ; preds = %invoke.cont189
  invoke void @_ZN5boost9unit_test17lazy_ostream_implIRA1_KcED1Ev(%"class.boost::unit_test::lazy_ostream_impl"* %ref.tmp177)
          to label %invoke.cont194 unwind label %lpad171

invoke.cont194:                                   ; preds = %invoke.cont192
  br label %do.cond197

do.cond197:                                       ; preds = %invoke.cont194
  %48 = load i8* @_ZN5boost10test_tools12_GLOBAL__N_110dummy_condE, align 1
  %tobool198 = trunc i8 %48 to i1
  br i1 %tobool198, label %do.body169, label %do.end199

do.end199:                                        ; preds = %do.cond197
  %49 = bitcast %"class.std::basic_iostream"* %s to i8**
  %vtable200 = load i8** %49
  %vbase.offset.ptr201 = getelementptr i8* %vtable200, i64 -12
  %50 = bitcast i8* %vbase.offset.ptr201 to i32*
  %vbase.offset202 = load i32* %50
  %51 = bitcast %"class.std::basic_iostream"* %s to i8*
  %add.ptr203 = getelementptr inbounds i8* %51, i32 %vbase.offset202
  %52 = bitcast i8* %add.ptr203 to %"class.std::basic_ios"*
  %53 = bitcast %"class.std::basic_stringbuf"* %sb2 to %"class.std::basic_streambuf"*
  %call205 = invoke %"class.std::basic_streambuf"* @_ZNSt9basic_iosIcSt11char_traitsIcEE5rdbufEPSt15basic_streambufIcS1_E(%"class.std::basic_ios"* %52, %"class.std::basic_streambuf"* %53)
          to label %invoke.cont204 unwind label %lpad171

invoke.cont204:                                   ; preds = %do.end199
  br label %do.body206

do.body206:                                       ; preds = %do.cond233, %invoke.cont204
  %54 = load %"class.boost::unit_test::unit_test_log_t"** @_ZN5boost9unit_test12_GLOBAL__N_113unit_test_logE, align 4
  invoke void @_ZN5boost9unit_test13basic_cstringIKcEC1EPS2_j(%"class.boost::unit_test::basic_cstring"* %agg.tmp207, i8* getelementptr inbounds ([24 x i8]* @.str, i32 0, i32 0), i32 23)
          to label %invoke.cont208 unwind label %lpad171

invoke.cont208:                                   ; preds = %do.body206
  invoke void @_ZN5boost9unit_test13basic_cstringIKcEC1Ev(%"class.boost::unit_test::basic_cstring"* %agg.tmp209)
          to label %invoke.cont210 unwind label %lpad171

invoke.cont210:                                   ; preds = %invoke.cont208
  invoke void @_ZN5boost9unit_test15unit_test_log_t14set_checkpointENS0_13basic_cstringIKcEEjS4_(%"class.boost::unit_test::unit_test_log_t"* %54, %"class.boost::unit_test::basic_cstring"* byval align 4 %agg.tmp207, i32 320, %"class.boost::unit_test::basic_cstring"* byval align 4 %agg.tmp209)
          to label %invoke.cont211 unwind label %lpad171

invoke.cont211:                                   ; preds = %invoke.cont210
  %call215 = invoke %"class.boost::unit_test::lazy_ostream"* @_ZN5boost9unit_test12lazy_ostream8instanceEv()
          to label %invoke.cont214 unwind label %lpad171

invoke.cont214:                                   ; preds = %invoke.cont211
  invoke void @_ZN5boost9unit_testlsIA1_cEENS0_17lazy_ostream_implIRKT_EERKNS0_12lazy_ostreamES6_(%"class.boost::unit_test::lazy_ostream_impl"* sret %ref.tmp213, %"class.boost::unit_test::lazy_ostream"* %call215, [1 x i8]* @.str3)
          to label %invoke.cont216 unwind label %lpad171

invoke.cont216:                                   ; preds = %invoke.cont214
  %55 = bitcast %"class.boost::unit_test::lazy_ostream_impl"* %ref.tmp213 to %"class.boost::unit_test::lazy_ostream"*
  invoke void @_ZN5boost9unit_test13basic_cstringIKcEC1EPS2_j(%"class.boost::unit_test::basic_cstring"* %agg.tmp217, i8* getelementptr inbounds ([24 x i8]* @.str, i32 0, i32 0), i32 23)
          to label %invoke.cont219 unwind label %lpad218

invoke.cont219:                                   ; preds = %invoke.cont216
  store %"class.std::basic_stringbuf"* %sb2, %"class.std::basic_stringbuf"** %ref.tmp220, align 4
  %56 = bitcast %"class.std::basic_iostream"* %s to i8**
  %vtable221 = load i8** %56
  %vbase.offset.ptr222 = getelementptr i8* %vtable221, i64 -12
  %57 = bitcast i8* %vbase.offset.ptr222 to i32*
  %vbase.offset223 = load i32* %57
  %58 = bitcast %"class.std::basic_iostream"* %s to i8*
  %add.ptr224 = getelementptr inbounds i8* %58, i32 %vbase.offset223
  %59 = bitcast i8* %add.ptr224 to %"class.std::basic_ios"*
  %call226 = invoke %"class.std::basic_streambuf"* @_ZNKSt9basic_iosIcSt11char_traitsIcEE5rdbufEv(%"class.std::basic_ios"* %59)
          to label %invoke.cont225 unwind label %lpad218

invoke.cont225:                                   ; preds = %invoke.cont219
  store %"class.std::basic_streambuf"* %call226, %"class.std::basic_streambuf"** %ref.tmp227, align 4
  %call229 = invoke zeroext i1 @_ZN5boost10test_tools9tt_detail10check_frwdINS1_15equal_impl_frwdEPSt15basic_stringbufIcSt11char_traitsIcESaIcEEPSt15basic_streambufIcS6_EEEbT_RKNS_9unit_test12lazy_ostreamENSE_13basic_cstringIKcEEjNS1_10tool_levelENS1_10check_typeERKT0_PSJ_RKT1_SQ_(%"class.boost::unit_test::lazy_ostream"* %55, %"class.boost::unit_test::basic_cstring"* byval align 4 %agg.tmp217, i32 320, i32 1, i32 2, %"class.std::basic_stringbuf"** %ref.tmp220, i8* getelementptr inbounds ([5 x i8]* @.str42, i32 0, i32 0), %"class.std::basic_streambuf"** %ref.tmp227, i8* getelementptr inbounds ([10 x i8]* @.str39, i32 0, i32 0))
          to label %invoke.cont228 unwind label %lpad218

invoke.cont228:                                   ; preds = %invoke.cont225
  invoke void @_ZN5boost9unit_test17lazy_ostream_implIRA1_KcED1Ev(%"class.boost::unit_test::lazy_ostream_impl"* %ref.tmp213)
          to label %invoke.cont230 unwind label %lpad171

invoke.cont230:                                   ; preds = %invoke.cont228
  br label %do.cond233

do.cond233:                                       ; preds = %invoke.cont230
  %60 = load i8* @_ZN5boost10test_tools12_GLOBAL__N_110dummy_condE, align 1
  %tobool234 = trunc i8 %60 to i1
  br i1 %tobool234, label %do.body206, label %do.end235

do.end235:                                        ; preds = %do.cond233
  invoke void @_ZN5boost2io21basic_ios_rdbuf_saverIcSt11char_traitsIcEED1Ev(%"class.boost::io::basic_ios_rdbuf_saver"* %irs161)
          to label %invoke.cont236 unwind label %lpad167

invoke.cont236:                                   ; preds = %do.end235
  invoke void @_ZNSt15basic_stringbufIcSt11char_traitsIcESaIcEED1Ev(%"class.std::basic_stringbuf"* %sb2)
          to label %invoke.cont240 unwind label %lpad239

invoke.cont240:                                   ; preds = %invoke.cont236
  invoke void @_ZNSt15basic_stringbufIcSt11char_traitsIcESaIcEED1Ev(%"class.std::basic_stringbuf"* %sb1)
          to label %invoke.cont243 unwind label %lpad

invoke.cont243:                                   ; preds = %invoke.cont240
  br label %do.body246

do.body246:                                       ; preds = %do.cond279, %invoke.cont243
  %61 = load %"class.boost::unit_test::unit_test_log_t"** @_ZN5boost9unit_test12_GLOBAL__N_113unit_test_logE, align 4
  invoke void @_ZN5boost9unit_test13basic_cstringIKcEC1EPS2_j(%"class.boost::unit_test::basic_cstring"* %agg.tmp247, i8* getelementptr inbounds ([24 x i8]* @.str, i32 0, i32 0), i32 23)
          to label %invoke.cont248 unwind label %lpad

invoke.cont248:                                   ; preds = %do.body246
  invoke void @_ZN5boost9unit_test13basic_cstringIKcEC1Ev(%"class.boost::unit_test::basic_cstring"* %agg.tmp249)
          to label %invoke.cont250 unwind label %lpad

invoke.cont250:                                   ; preds = %invoke.cont248
  invoke void @_ZN5boost9unit_test15unit_test_log_t14set_checkpointENS0_13basic_cstringIKcEEjS4_(%"class.boost::unit_test::unit_test_log_t"* %61, %"class.boost::unit_test::basic_cstring"* byval align 4 %agg.tmp247, i32 323, %"class.boost::unit_test::basic_cstring"* byval align 4 %agg.tmp249)
          to label %invoke.cont251 unwind label %lpad

invoke.cont251:                                   ; preds = %invoke.cont250
  %62 = bitcast %"class.std::basic_iostream"* %s to i8**
  %vtable253 = load i8** %62
  %vbase.offset.ptr254 = getelementptr i8* %vtable253, i64 -12
  %63 = bitcast i8* %vbase.offset.ptr254 to i32*
  %vbase.offset255 = load i32* %63
  %64 = bitcast %"class.std::basic_iostream"* %s to i8*
  %add.ptr256 = getelementptr inbounds i8* %64, i32 %vbase.offset255
  %65 = bitcast i8* %add.ptr256 to %"class.std::basic_ios"*
  %call258 = invoke %"class.std::basic_streambuf"* @_ZNKSt9basic_iosIcSt11char_traitsIcEE5rdbufEv(%"class.std::basic_ios"* %65)
          to label %invoke.cont257 unwind label %lpad

invoke.cont257:                                   ; preds = %invoke.cont251
  %cmp259 = icmp eq %"class.std::basic_streambuf"* null, %call258
  invoke void @_ZN5boost10test_tools16predicate_resultC1Eb(%"class.boost::test_tools::predicate_result"* %ref.tmp252, i1 zeroext %cmp259)
          to label %invoke.cont260 unwind label %lpad

invoke.cont260:                                   ; preds = %invoke.cont257
  %call264 = invoke %"class.boost::unit_test::lazy_ostream"* @_ZN5boost9unit_test12lazy_ostream8instanceEv()
          to label %invoke.cont263 unwind label %lpad262

invoke.cont263:                                   ; preds = %invoke.cont260
  invoke void @_ZN5boost9unit_test13basic_cstringIKcEC1EPS2_j(%"class.boost::unit_test::basic_cstring"* %ref.tmp265, i8* getelementptr inbounds ([20 x i8]* @.str37, i32 0, i32 0), i32 19)
          to label %invoke.cont266 unwind label %lpad262

invoke.cont266:                                   ; preds = %invoke.cont263
  invoke void @_ZN5boost9unit_testlsINS0_13basic_cstringIKcEEEENS0_17lazy_ostream_implIRKT_EERKNS0_12lazy_ostreamES8_(%"class.boost::unit_test::lazy_ostream_impl.0"* sret %ref.tmp261, %"class.boost::unit_test::lazy_ostream"* %call264, %"class.boost::unit_test::basic_cstring"* %ref.tmp265)
          to label %invoke.cont267 unwind label %lpad262

invoke.cont267:                                   ; preds = %invoke.cont266
  %66 = bitcast %"class.boost::unit_test::lazy_ostream_impl.0"* %ref.tmp261 to %"class.boost::unit_test::lazy_ostream"*
  invoke void @_ZN5boost9unit_test13basic_cstringIKcEC1EPS2_j(%"class.boost::unit_test::basic_cstring"* %agg.tmp268, i8* getelementptr inbounds ([24 x i8]* @.str, i32 0, i32 0), i32 23)
          to label %invoke.cont270 unwind label %lpad269

invoke.cont270:                                   ; preds = %invoke.cont267
  %call272 = invoke zeroext i1 (%"class.boost::test_tools::predicate_result"*, %"class.boost::unit_test::lazy_ostream"*, %"class.boost::unit_test::basic_cstring"*, i32, i32, i32, i32, ...)* @_ZN5boost10test_tools9tt_detail10check_implERKNS0_16predicate_resultERKNS_9unit_test12lazy_ostreamENS5_13basic_cstringIKcEEjNS1_10tool_levelENS1_10check_typeEjz(%"class.boost::test_tools::predicate_result"* %ref.tmp252, %"class.boost::unit_test::lazy_ostream"* %66, %"class.boost::unit_test::basic_cstring"* byval align 4 %agg.tmp268, i32 323, i32 1, i32 0, i32 0)
          to label %invoke.cont271 unwind label %lpad269

invoke.cont271:                                   ; preds = %invoke.cont270
  invoke void @_ZN5boost9unit_test17lazy_ostream_implIRKNS0_13basic_cstringIKcEEED1Ev(%"class.boost::unit_test::lazy_ostream_impl.0"* %ref.tmp261)
          to label %invoke.cont273 unwind label %lpad262

invoke.cont273:                                   ; preds = %invoke.cont271
  invoke void @_ZN5boost10test_tools16predicate_resultD1Ev(%"class.boost::test_tools::predicate_result"* %ref.tmp252)
          to label %invoke.cont276 unwind label %lpad

invoke.cont276:                                   ; preds = %invoke.cont273
  br label %do.cond279

do.cond279:                                       ; preds = %invoke.cont276
  %67 = load i8* @_ZN5boost10test_tools12_GLOBAL__N_110dummy_condE, align 1
  %tobool280 = trunc i8 %67 to i1
  br i1 %tobool280, label %do.body246, label %do.end281

do.end281:                                        ; preds = %do.cond279
  call void @_ZNSdD1Ev(%"class.std::basic_iostream"* %s)
  ret void

lpad:                                             ; preds = %invoke.cont273, %invoke.cont257, %invoke.cont251, %invoke.cont250, %invoke.cont248, %do.body246, %invoke.cont240, %invoke.cont146, %do.end145, %invoke.cont137, %invoke.cont121, %invoke.cont115, %invoke.cont114, %invoke.cont112, %do.body110, %invoke.cont104, %invoke.cont22, %do.end, %invoke.cont18, %invoke.cont4, %invoke.cont3, %invoke.cont2, %invoke.cont, %do.body
  %68 = landingpad { i8*, i32 } personality i8* bitcast (i32 (...)* @__gxx_personality_v0 to i8*)
          cleanup
  %69 = extractvalue { i8*, i32 } %68, 0
  store i8* %69, i8** %exn.slot
  %70 = extractvalue { i8*, i32 } %68, 1
  store i32 %70, i32* %ehselector.slot
  br label %ehcleanup282

lpad7:                                            ; preds = %invoke.cont16, %invoke.cont11, %invoke.cont8, %invoke.cont5
  %71 = landingpad { i8*, i32 } personality i8* bitcast (i32 (...)* @__gxx_personality_v0 to i8*)
          cleanup
  %72 = extractvalue { i8*, i32 } %71, 0
  store i8* %72, i8** %exn.slot
  %73 = extractvalue { i8*, i32 } %71, 1
  store i32 %73, i32* %ehselector.slot
  br label %ehcleanup

lpad14:                                           ; preds = %invoke.cont15, %invoke.cont12
  %74 = landingpad { i8*, i32 } personality i8* bitcast (i32 (...)* @__gxx_personality_v0 to i8*)
          cleanup
  %75 = extractvalue { i8*, i32 } %74, 0
  store i8* %75, i8** %exn.slot
  %76 = extractvalue { i8*, i32 } %74, 1
  store i32 %76, i32* %ehselector.slot
  invoke void @_ZN5boost9unit_test17lazy_ostream_implIRKNS0_13basic_cstringIKcEEED1Ev(%"class.boost::unit_test::lazy_ostream_impl.0"* %ref.tmp6)
          to label %invoke.cont19 unwind label %terminate.lpad

invoke.cont19:                                    ; preds = %lpad14
  br label %ehcleanup

ehcleanup:                                        ; preds = %invoke.cont19, %lpad7
  invoke void @_ZN5boost10test_tools16predicate_resultD1Ev(%"class.boost::test_tools::predicate_result"* %ref.tmp)
          to label %invoke.cont21 unwind label %terminate.lpad

invoke.cont21:                                    ; preds = %ehcleanup
  br label %ehcleanup282

lpad29:                                           ; preds = %do.end103, %invoke.cont24
  %77 = landingpad { i8*, i32 } personality i8* bitcast (i32 (...)* @__gxx_personality_v0 to i8*)
          cleanup
  %78 = extractvalue { i8*, i32 } %77, 0
  store i8* %78, i8** %exn.slot
  %79 = extractvalue { i8*, i32 } %77, 1
  store i32 %79, i32* %ehselector.slot
  br label %ehcleanup108

lpad33:                                           ; preds = %invoke.cont96, %invoke.cont82, %invoke.cont79, %invoke.cont78, %invoke.cont76, %do.body74, %do.end67, %invoke.cont59, %invoke.cont43, %invoke.cont37, %invoke.cont36, %invoke.cont34, %do.body31
  %80 = landingpad { i8*, i32 } personality i8* bitcast (i32 (...)* @__gxx_personality_v0 to i8*)
          cleanup
  %81 = extractvalue { i8*, i32 } %80, 0
  store i8* %81, i8** %exn.slot
  %82 = extractvalue { i8*, i32 } %80, 1
  store i32 %82, i32* %ehselector.slot
  br label %ehcleanup105

lpad48:                                           ; preds = %invoke.cont57, %invoke.cont52, %invoke.cont49, %invoke.cont46
  %83 = landingpad { i8*, i32 } personality i8* bitcast (i32 (...)* @__gxx_personality_v0 to i8*)
          cleanup
  %84 = extractvalue { i8*, i32 } %83, 0
  store i8* %84, i8** %exn.slot
  %85 = extractvalue { i8*, i32 } %83, 1
  store i32 %85, i32* %ehselector.slot
  br label %ehcleanup63

lpad55:                                           ; preds = %invoke.cont56, %invoke.cont53
  %86 = landingpad { i8*, i32 } personality i8* bitcast (i32 (...)* @__gxx_personality_v0 to i8*)
          cleanup
  %87 = extractvalue { i8*, i32 } %86, 0
  store i8* %87, i8** %exn.slot
  %88 = extractvalue { i8*, i32 } %86, 1
  store i32 %88, i32* %ehselector.slot
  invoke void @_ZN5boost9unit_test17lazy_ostream_implIRKNS0_13basic_cstringIKcEEED1Ev(%"class.boost::unit_test::lazy_ostream_impl.0"* %ref.tmp47)
          to label %invoke.cont61 unwind label %terminate.lpad

invoke.cont61:                                    ; preds = %lpad55
  br label %ehcleanup63

ehcleanup63:                                      ; preds = %invoke.cont61, %lpad48
  invoke void @_ZN5boost10test_tools16predicate_resultD1Ev(%"class.boost::test_tools::predicate_result"* %ref.tmp38)
          to label %invoke.cont64 unwind label %terminate.lpad

invoke.cont64:                                    ; preds = %ehcleanup63
  br label %ehcleanup105

lpad86:                                           ; preds = %invoke.cont93, %invoke.cont87, %invoke.cont84
  %89 = landingpad { i8*, i32 } personality i8* bitcast (i32 (...)* @__gxx_personality_v0 to i8*)
          cleanup
  %90 = extractvalue { i8*, i32 } %89, 0
  store i8* %90, i8** %exn.slot
  %91 = extractvalue { i8*, i32 } %89, 1
  store i32 %91, i32* %ehselector.slot
  invoke void @_ZN5boost9unit_test17lazy_ostream_implIRA1_KcED1Ev(%"class.boost::unit_test::lazy_ostream_impl"* %ref.tmp81)
          to label %invoke.cont100 unwind label %terminate.lpad

invoke.cont100:                                   ; preds = %lpad86
  br label %ehcleanup105

ehcleanup105:                                     ; preds = %invoke.cont100, %invoke.cont64, %lpad33
  invoke void @_ZN5boost2io21basic_ios_rdbuf_saverIcSt11char_traitsIcEED1Ev(%"class.boost::io::basic_ios_rdbuf_saver"* %irs)
          to label %invoke.cont106 unwind label %terminate.lpad

invoke.cont106:                                   ; preds = %ehcleanup105
  br label %ehcleanup108

ehcleanup108:                                     ; preds = %invoke.cont106, %lpad29
  invoke void @_ZNSt15basic_stringbufIcSt11char_traitsIcESaIcEED1Ev(%"class.std::basic_stringbuf"* %sb)
          to label %invoke.cont109 unwind label %terminate.lpad

invoke.cont109:                                   ; preds = %ehcleanup108
  br label %ehcleanup282

lpad126:                                          ; preds = %invoke.cont135, %invoke.cont130, %invoke.cont127, %invoke.cont124
  %92 = landingpad { i8*, i32 } personality i8* bitcast (i32 (...)* @__gxx_personality_v0 to i8*)
          cleanup
  %93 = extractvalue { i8*, i32 } %92, 0
  store i8* %93, i8** %exn.slot
  %94 = extractvalue { i8*, i32 } %92, 1
  store i32 %94, i32* %ehselector.slot
  br label %ehcleanup141

lpad133:                                          ; preds = %invoke.cont134, %invoke.cont131
  %95 = landingpad { i8*, i32 } personality i8* bitcast (i32 (...)* @__gxx_personality_v0 to i8*)
          cleanup
  %96 = extractvalue { i8*, i32 } %95, 0
  store i8* %96, i8** %exn.slot
  %97 = extractvalue { i8*, i32 } %95, 1
  store i32 %97, i32* %ehselector.slot
  invoke void @_ZN5boost9unit_test17lazy_ostream_implIRKNS0_13basic_cstringIKcEEED1Ev(%"class.boost::unit_test::lazy_ostream_impl.0"* %ref.tmp125)
          to label %invoke.cont139 unwind label %terminate.lpad

invoke.cont139:                                   ; preds = %lpad133
  br label %ehcleanup141

ehcleanup141:                                     ; preds = %invoke.cont139, %lpad126
  invoke void @_ZN5boost10test_tools16predicate_resultD1Ev(%"class.boost::test_tools::predicate_result"* %ref.tmp116)
          to label %invoke.cont142 unwind label %terminate.lpad

invoke.cont142:                                   ; preds = %ehcleanup141
  br label %ehcleanup282

lpad151:                                          ; preds = %invoke.cont156, %invoke.cont148
  %98 = landingpad { i8*, i32 } personality i8* bitcast (i32 (...)* @__gxx_personality_v0 to i8*)
          cleanup
  %99 = extractvalue { i8*, i32 } %98, 0
  store i8* %99, i8** %exn.slot
  %100 = extractvalue { i8*, i32 } %98, 1
  store i32 %100, i32* %ehselector.slot
  br label %ehcleanup160

lpad153:                                          ; preds = %invoke.cont154, %invoke.cont152
  %101 = landingpad { i8*, i32 } personality i8* bitcast (i32 (...)* @__gxx_personality_v0 to i8*)
          cleanup
  %102 = extractvalue { i8*, i32 } %101, 0
  store i8* %102, i8** %exn.slot
  %103 = extractvalue { i8*, i32 } %101, 1
  store i32 %103, i32* %ehselector.slot
  invoke void @_ZNSsD1Ev(%"class.std::basic_string"* %ref.tmp149)
          to label %invoke.cont159 unwind label %terminate.lpad

invoke.cont159:                                   ; preds = %lpad153
  br label %ehcleanup160

ehcleanup160:                                     ; preds = %invoke.cont159, %lpad151
  call void @_ZNSaIcED1Ev(%"class.std::allocator"* %ref.tmp150) nounwind
  br label %ehcleanup244

lpad167:                                          ; preds = %do.end235, %invoke.cont157
  %104 = landingpad { i8*, i32 } personality i8* bitcast (i32 (...)* @__gxx_personality_v0 to i8*)
          cleanup
  %105 = extractvalue { i8*, i32 } %104, 0
  store i8* %105, i8** %exn.slot
  %106 = extractvalue { i8*, i32 } %104, 1
  store i32 %106, i32* %ehselector.slot
  br label %ehcleanup241

lpad171:                                          ; preds = %invoke.cont228, %invoke.cont214, %invoke.cont211, %invoke.cont210, %invoke.cont208, %do.body206, %do.end199, %invoke.cont192, %invoke.cont178, %invoke.cont175, %invoke.cont174, %invoke.cont172, %do.body169
  %107 = landingpad { i8*, i32 } personality i8* bitcast (i32 (...)* @__gxx_personality_v0 to i8*)
          cleanup
  %108 = extractvalue { i8*, i32 } %107, 0
  store i8* %108, i8** %exn.slot
  %109 = extractvalue { i8*, i32 } %107, 1
  store i32 %109, i32* %ehselector.slot
  br label %ehcleanup237

lpad182:                                          ; preds = %invoke.cont189, %invoke.cont183, %invoke.cont180
  %110 = landingpad { i8*, i32 } personality i8* bitcast (i32 (...)* @__gxx_personality_v0 to i8*)
          cleanup
  %111 = extractvalue { i8*, i32 } %110, 0
  store i8* %111, i8** %exn.slot
  %112 = extractvalue { i8*, i32 } %110, 1
  store i32 %112, i32* %ehselector.slot
  invoke void @_ZN5boost9unit_test17lazy_ostream_implIRA1_KcED1Ev(%"class.boost::unit_test::lazy_ostream_impl"* %ref.tmp177)
          to label %invoke.cont196 unwind label %terminate.lpad

invoke.cont196:                                   ; preds = %lpad182
  br label %ehcleanup237

lpad218:                                          ; preds = %invoke.cont225, %invoke.cont219, %invoke.cont216
  %113 = landingpad { i8*, i32 } personality i8* bitcast (i32 (...)* @__gxx_personality_v0 to i8*)
          cleanup
  %114 = extractvalue { i8*, i32 } %113, 0
  store i8* %114, i8** %exn.slot
  %115 = extractvalue { i8*, i32 } %113, 1
  store i32 %115, i32* %ehselector.slot
  invoke void @_ZN5boost9unit_test17lazy_ostream_implIRA1_KcED1Ev(%"class.boost::unit_test::lazy_ostream_impl"* %ref.tmp213)
          to label %invoke.cont232 unwind label %terminate.lpad

invoke.cont232:                                   ; preds = %lpad218
  br label %ehcleanup237

ehcleanup237:                                     ; preds = %invoke.cont232, %invoke.cont196, %lpad171
  invoke void @_ZN5boost2io21basic_ios_rdbuf_saverIcSt11char_traitsIcEED1Ev(%"class.boost::io::basic_ios_rdbuf_saver"* %irs161)
          to label %invoke.cont238 unwind label %terminate.lpad

invoke.cont238:                                   ; preds = %ehcleanup237
  br label %ehcleanup241

lpad239:                                          ; preds = %invoke.cont236
  %116 = landingpad { i8*, i32 } personality i8* bitcast (i32 (...)* @__gxx_personality_v0 to i8*)
          cleanup
  %117 = extractvalue { i8*, i32 } %116, 0
  store i8* %117, i8** %exn.slot
  %118 = extractvalue { i8*, i32 } %116, 1
  store i32 %118, i32* %ehselector.slot
  br label %ehcleanup244

ehcleanup241:                                     ; preds = %invoke.cont238, %lpad167
  invoke void @_ZNSt15basic_stringbufIcSt11char_traitsIcESaIcEED1Ev(%"class.std::basic_stringbuf"* %sb2)
          to label %invoke.cont242 unwind label %terminate.lpad

invoke.cont242:                                   ; preds = %ehcleanup241
  br label %ehcleanup244

ehcleanup244:                                     ; preds = %invoke.cont242, %lpad239, %ehcleanup160
  invoke void @_ZNSt15basic_stringbufIcSt11char_traitsIcESaIcEED1Ev(%"class.std::basic_stringbuf"* %sb1)
          to label %invoke.cont245 unwind label %terminate.lpad

invoke.cont245:                                   ; preds = %ehcleanup244
  br label %ehcleanup282

lpad262:                                          ; preds = %invoke.cont271, %invoke.cont266, %invoke.cont263, %invoke.cont260
  %119 = landingpad { i8*, i32 } personality i8* bitcast (i32 (...)* @__gxx_personality_v0 to i8*)
          cleanup
  %120 = extractvalue { i8*, i32 } %119, 0
  store i8* %120, i8** %exn.slot
  %121 = extractvalue { i8*, i32 } %119, 1
  store i32 %121, i32* %ehselector.slot
  br label %ehcleanup277

lpad269:                                          ; preds = %invoke.cont270, %invoke.cont267
  %122 = landingpad { i8*, i32 } personality i8* bitcast (i32 (...)* @__gxx_personality_v0 to i8*)
          cleanup
  %123 = extractvalue { i8*, i32 } %122, 0
  store i8* %123, i8** %exn.slot
  %124 = extractvalue { i8*, i32 } %122, 1
  store i32 %124, i32* %ehselector.slot
  invoke void @_ZN5boost9unit_test17lazy_ostream_implIRKNS0_13basic_cstringIKcEEED1Ev(%"class.boost::unit_test::lazy_ostream_impl.0"* %ref.tmp261)
          to label %invoke.cont275 unwind label %terminate.lpad

invoke.cont275:                                   ; preds = %lpad269
  br label %ehcleanup277

ehcleanup277:                                     ; preds = %invoke.cont275, %lpad262
  invoke void @_ZN5boost10test_tools16predicate_resultD1Ev(%"class.boost::test_tools::predicate_result"* %ref.tmp252)
          to label %invoke.cont278 unwind label %terminate.lpad

invoke.cont278:                                   ; preds = %ehcleanup277
  br label %ehcleanup282

ehcleanup282:                                     ; preds = %invoke.cont278, %invoke.cont245, %invoke.cont142, %invoke.cont109, %invoke.cont21, %lpad
  invoke void @_ZNSdD1Ev(%"class.std::basic_iostream"* %s)
          to label %invoke.cont283 unwind label %terminate.lpad

invoke.cont283:                                   ; preds = %ehcleanup282
  br label %eh.resume

eh.resume:                                        ; preds = %invoke.cont283
  %exn = load i8** %exn.slot
  %sel = load i32* %ehselector.slot
  %lpad.val = insertvalue { i8*, i32 } undef, i8* %exn, 0
  %lpad.val284 = insertvalue { i8*, i32 } %lpad.val, i32 %sel, 1
  resume { i8*, i32 } %lpad.val284

terminate.lpad:                                   ; preds = %ehcleanup282, %ehcleanup277, %lpad269, %ehcleanup244, %ehcleanup241, %ehcleanup237, %lpad218, %lpad182, %lpad153, %ehcleanup141, %lpad133, %ehcleanup108, %ehcleanup105, %lpad86, %ehcleanup63, %lpad55, %ehcleanup, %lpad14
  %125 = landingpad { i8*, i32 } personality i8* bitcast (i32 (...)* @__gxx_personality_v0 to i8*)
          catch i8* null
  call void @_ZSt9terminatev() noreturn nounwind
  unreachable
}

declare void @_ZNSdC1EPSt15basic_streambufIcSt11char_traitsIcEE(%"class.std::basic_iostream"*, %"class.std::basic_streambuf"*)

declare %"class.std::basic_streambuf"* @_ZNKSt9basic_iosIcSt11char_traitsIcEE5rdbufEv(%"class.std::basic_ios"*)

declare void @_ZNSt15basic_stringbufIcSt11char_traitsIcESaIcEEC1ESt13_Ios_Openmode(%"class.std::basic_stringbuf"*, i32)

define linkonce_odr void @_ZN5boost2io21basic_ios_rdbuf_saverIcSt11char_traitsIcEEC1ERSt9basic_iosIcS3_E(%"class.boost::io::basic_ios_rdbuf_saver"* %this, %"class.std::basic_ios"* %s) unnamed_addr align 2 {
entry:
  %this.addr = alloca %"class.boost::io::basic_ios_rdbuf_saver"*, align 4
  %s.addr = alloca %"class.std::basic_ios"*, align 4
  store %"class.boost::io::basic_ios_rdbuf_saver"* %this, %"class.boost::io::basic_ios_rdbuf_saver"** %this.addr, align 4
  store %"class.std::basic_ios"* %s, %"class.std::basic_ios"** %s.addr, align 4
  %this1 = load %"class.boost::io::basic_ios_rdbuf_saver"** %this.addr
  %0 = load %"class.std::basic_ios"** %s.addr
  call void @_ZN5boost2io21basic_ios_rdbuf_saverIcSt11char_traitsIcEEC2ERSt9basic_iosIcS3_E(%"class.boost::io::basic_ios_rdbuf_saver"* %this1, %"class.std::basic_ios"* %0)
  ret void
}

declare %"class.std::basic_streambuf"* @_ZNSt9basic_iosIcSt11char_traitsIcEE5rdbufEPSt15basic_streambufIcS1_E(%"class.std::basic_ios"*, %"class.std::basic_streambuf"*)

define linkonce_odr zeroext i1 @_ZN5boost10test_tools9tt_detail10check_frwdINS1_15equal_impl_frwdEPSt15basic_stringbufIcSt11char_traitsIcESaIcEEPSt15basic_streambufIcS6_EEEbT_RKNS_9unit_test12lazy_ostreamENSE_13basic_cstringIKcEEjNS1_10tool_levelENS1_10check_typeERKT0_PSJ_RKT1_SQ_(%"class.boost::unit_test::lazy_ostream"* %check_descr, %"class.boost::unit_test::basic_cstring"* byval align 4 %file_name, i32 %line_num, i32 %tl, i32 %ct, %"class.std::basic_stringbuf"** %arg0, i8* %arg0_descr, %"class.std::basic_streambuf"** %arg1, i8* %arg1_descr) inlinehint {
entry:
  %P = alloca %"struct.boost::test_tools::tt_detail::equal_impl_frwd", align 1
  %check_descr.addr = alloca %"class.boost::unit_test::lazy_ostream"*, align 4
  %line_num.addr = alloca i32, align 4
  %tl.addr = alloca i32, align 4
  %ct.addr = alloca i32, align 4
  %arg0.addr = alloca %"class.std::basic_stringbuf"**, align 4
  %arg0_descr.addr = alloca i8*, align 4
  %arg1.addr = alloca %"class.std::basic_streambuf"**, align 4
  %arg1_descr.addr = alloca i8*, align 4
  %ref.tmp = alloca %"class.boost::test_tools::predicate_result", align 4
  %agg.tmp = alloca %"class.boost::unit_test::basic_cstring", align 4
  %ref.tmp1 = alloca %"class.boost::unit_test::lazy_ostream_impl.24", align 4
  %exn.slot = alloca i8*
  %ehselector.slot = alloca i32
  %ref.tmp2 = alloca %"struct.boost::test_tools::tt_detail::print_helper_t.25", align 4
  %ref.tmp5 = alloca %"class.boost::unit_test::lazy_ostream_impl.23", align 4
  %ref.tmp9 = alloca %"struct.boost::test_tools::tt_detail::print_helper_t", align 4
  store %"class.boost::unit_test::lazy_ostream"* %check_descr, %"class.boost::unit_test::lazy_ostream"** %check_descr.addr, align 4
  store i32 %line_num, i32* %line_num.addr, align 4
  store i32 %tl, i32* %tl.addr, align 4
  store i32 %ct, i32* %ct.addr, align 4
  store %"class.std::basic_stringbuf"** %arg0, %"class.std::basic_stringbuf"*** %arg0.addr, align 4
  store i8* %arg0_descr, i8** %arg0_descr.addr, align 4
  store %"class.std::basic_streambuf"** %arg1, %"class.std::basic_streambuf"*** %arg1.addr, align 4
  store i8* %arg1_descr, i8** %arg1_descr.addr, align 4
  %0 = load %"class.std::basic_stringbuf"*** %arg0.addr, align 4
  %1 = load %"class.std::basic_streambuf"*** %arg1.addr, align 4
  call void @_ZNK5boost10test_tools9tt_detail15equal_impl_frwdclIPSt15basic_stringbufIcSt11char_traitsIcESaIcEEPSt15basic_streambufIcS6_EEENS0_16predicate_resultERKT_RKT0_(%"class.boost::test_tools::predicate_result"* sret %ref.tmp, %"struct.boost::test_tools::tt_detail::equal_impl_frwd"* %P, %"class.std::basic_stringbuf"** %0, %"class.std::basic_streambuf"** %1)
  %2 = load %"class.boost::unit_test::lazy_ostream"** %check_descr.addr, align 4
  %3 = bitcast %"class.boost::unit_test::basic_cstring"* %agg.tmp to i8*
  %4 = bitcast %"class.boost::unit_test::basic_cstring"* %file_name to i8*
  call void @llvm.memcpy.p0i8.p0i8.i32(i8* %3, i8* %4, i32 8, i32 4, i1 false)
  %5 = load i32* %line_num.addr, align 4
  %6 = load i32* %tl.addr, align 4
  %7 = load i32* %ct.addr, align 4
  %8 = load i8** %arg0_descr.addr, align 4
  %call = invoke %"class.boost::unit_test::lazy_ostream"* @_ZN5boost9unit_test12lazy_ostream8instanceEv()
          to label %invoke.cont unwind label %lpad

invoke.cont:                                      ; preds = %entry
  %9 = load %"class.std::basic_stringbuf"*** %arg0.addr, align 4
  invoke void @_ZN5boost10test_tools9tt_detail12print_helperIPSt15basic_stringbufIcSt11char_traitsIcESaIcEEEENS1_14print_helper_tIT_EERKSA_(%"struct.boost::test_tools::tt_detail::print_helper_t.25"* sret %ref.tmp2, %"class.std::basic_stringbuf"** %9)
          to label %invoke.cont3 unwind label %lpad

invoke.cont3:                                     ; preds = %invoke.cont
  invoke void @_ZN5boost9unit_testlsINS_10test_tools9tt_detail14print_helper_tIPSt15basic_stringbufIcSt11char_traitsIcESaIcEEEEEENS0_17lazy_ostream_implIRKT_EERKNS0_12lazy_ostreamESF_(%"class.boost::unit_test::lazy_ostream_impl.24"* sret %ref.tmp1, %"class.boost::unit_test::lazy_ostream"* %call, %"struct.boost::test_tools::tt_detail::print_helper_t.25"* %ref.tmp2)
          to label %invoke.cont4 unwind label %lpad

invoke.cont4:                                     ; preds = %invoke.cont3
  %10 = bitcast %"class.boost::unit_test::lazy_ostream_impl.24"* %ref.tmp1 to %"class.boost::unit_test::lazy_ostream"*
  %11 = load i8** %arg1_descr.addr, align 4
  %call8 = invoke %"class.boost::unit_test::lazy_ostream"* @_ZN5boost9unit_test12lazy_ostream8instanceEv()
          to label %invoke.cont7 unwind label %lpad6

invoke.cont7:                                     ; preds = %invoke.cont4
  %12 = load %"class.std::basic_streambuf"*** %arg1.addr, align 4
  invoke void @_ZN5boost10test_tools9tt_detail12print_helperIPSt15basic_streambufIcSt11char_traitsIcEEEENS1_14print_helper_tIT_EERKS9_(%"struct.boost::test_tools::tt_detail::print_helper_t"* sret %ref.tmp9, %"class.std::basic_streambuf"** %12)
          to label %invoke.cont10 unwind label %lpad6

invoke.cont10:                                    ; preds = %invoke.cont7
  invoke void @_ZN5boost9unit_testlsINS_10test_tools9tt_detail14print_helper_tIPSt15basic_streambufIcSt11char_traitsIcEEEEEENS0_17lazy_ostream_implIRKT_EERKNS0_12lazy_ostreamESE_(%"class.boost::unit_test::lazy_ostream_impl.23"* sret %ref.tmp5, %"class.boost::unit_test::lazy_ostream"* %call8, %"struct.boost::test_tools::tt_detail::print_helper_t"* %ref.tmp9)
          to label %invoke.cont11 unwind label %lpad6

invoke.cont11:                                    ; preds = %invoke.cont10
  %13 = bitcast %"class.boost::unit_test::lazy_ostream_impl.23"* %ref.tmp5 to %"class.boost::unit_test::lazy_ostream"*
  %call14 = invoke zeroext i1 (%"class.boost::test_tools::predicate_result"*, %"class.boost::unit_test::lazy_ostream"*, %"class.boost::unit_test::basic_cstring"*, i32, i32, i32, i32, ...)* @_ZN5boost10test_tools9tt_detail10check_implERKNS0_16predicate_resultERKNS_9unit_test12lazy_ostreamENS5_13basic_cstringIKcEEjNS1_10tool_levelENS1_10check_typeEjz(%"class.boost::test_tools::predicate_result"* %ref.tmp, %"class.boost::unit_test::lazy_ostream"* %2, %"class.boost::unit_test::basic_cstring"* byval align 4 %agg.tmp, i32 %5, i32 %6, i32 %7, i32 2, i8* %8, %"class.boost::unit_test::lazy_ostream"* %10, i8* %11, %"class.boost::unit_test::lazy_ostream"* %13)
          to label %invoke.cont13 unwind label %lpad12

invoke.cont13:                                    ; preds = %invoke.cont11
  invoke void @_ZN5boost9unit_test17lazy_ostream_implIRKNS_10test_tools9tt_detail14print_helper_tIPSt15basic_streambufIcSt11char_traitsIcEEEEED1Ev(%"class.boost::unit_test::lazy_ostream_impl.23"* %ref.tmp5)
          to label %invoke.cont15 unwind label %lpad6

invoke.cont15:                                    ; preds = %invoke.cont13
  invoke void @_ZN5boost9unit_test17lazy_ostream_implIRKNS_10test_tools9tt_detail14print_helper_tIPSt15basic_stringbufIcSt11char_traitsIcESaIcEEEEED1Ev(%"class.boost::unit_test::lazy_ostream_impl.24"* %ref.tmp1)
          to label %invoke.cont17 unwind label %lpad

invoke.cont17:                                    ; preds = %invoke.cont15
  call void @_ZN5boost10test_tools16predicate_resultD1Ev(%"class.boost::test_tools::predicate_result"* %ref.tmp)
  ret i1 %call14

lpad:                                             ; preds = %invoke.cont15, %invoke.cont3, %invoke.cont, %entry
  %14 = landingpad { i8*, i32 } personality i8* bitcast (i32 (...)* @__gxx_personality_v0 to i8*)
          cleanup
  %15 = extractvalue { i8*, i32 } %14, 0
  store i8* %15, i8** %exn.slot
  %16 = extractvalue { i8*, i32 } %14, 1
  store i32 %16, i32* %ehselector.slot
  br label %ehcleanup19

lpad6:                                            ; preds = %invoke.cont13, %invoke.cont10, %invoke.cont7, %invoke.cont4
  %17 = landingpad { i8*, i32 } personality i8* bitcast (i32 (...)* @__gxx_personality_v0 to i8*)
          cleanup
  %18 = extractvalue { i8*, i32 } %17, 0
  store i8* %18, i8** %exn.slot
  %19 = extractvalue { i8*, i32 } %17, 1
  store i32 %19, i32* %ehselector.slot
  br label %ehcleanup

lpad12:                                           ; preds = %invoke.cont11
  %20 = landingpad { i8*, i32 } personality i8* bitcast (i32 (...)* @__gxx_personality_v0 to i8*)
          cleanup
  %21 = extractvalue { i8*, i32 } %20, 0
  store i8* %21, i8** %exn.slot
  %22 = extractvalue { i8*, i32 } %20, 1
  store i32 %22, i32* %ehselector.slot
  invoke void @_ZN5boost9unit_test17lazy_ostream_implIRKNS_10test_tools9tt_detail14print_helper_tIPSt15basic_streambufIcSt11char_traitsIcEEEEED1Ev(%"class.boost::unit_test::lazy_ostream_impl.23"* %ref.tmp5)
          to label %invoke.cont16 unwind label %terminate.lpad

invoke.cont16:                                    ; preds = %lpad12
  br label %ehcleanup

ehcleanup:                                        ; preds = %invoke.cont16, %lpad6
  invoke void @_ZN5boost9unit_test17lazy_ostream_implIRKNS_10test_tools9tt_detail14print_helper_tIPSt15basic_stringbufIcSt11char_traitsIcESaIcEEEEED1Ev(%"class.boost::unit_test::lazy_ostream_impl.24"* %ref.tmp1)
          to label %invoke.cont18 unwind label %terminate.lpad

invoke.cont18:                                    ; preds = %ehcleanup
  br label %ehcleanup19

ehcleanup19:                                      ; preds = %invoke.cont18, %lpad
  invoke void @_ZN5boost10test_tools16predicate_resultD1Ev(%"class.boost::test_tools::predicate_result"* %ref.tmp)
          to label %invoke.cont20 unwind label %terminate.lpad

invoke.cont20:                                    ; preds = %ehcleanup19
  br label %eh.resume

eh.resume:                                        ; preds = %invoke.cont20
  %exn = load i8** %exn.slot
  %sel = load i32* %ehselector.slot
  %lpad.val = insertvalue { i8*, i32 } undef, i8* %exn, 0
  %lpad.val21 = insertvalue { i8*, i32 } %lpad.val, i32 %sel, 1
  resume { i8*, i32 } %lpad.val21

terminate.lpad:                                   ; preds = %ehcleanup19, %ehcleanup, %lpad12
  %23 = landingpad { i8*, i32 } personality i8* bitcast (i32 (...)* @__gxx_personality_v0 to i8*)
          catch i8* null
  call void @_ZSt9terminatev() noreturn nounwind
  unreachable
}

define linkonce_odr void @_ZN5boost2io21basic_ios_rdbuf_saverIcSt11char_traitsIcEED1Ev(%"class.boost::io::basic_ios_rdbuf_saver"* %this) unnamed_addr align 2 {
entry:
  %this.addr = alloca %"class.boost::io::basic_ios_rdbuf_saver"*, align 4
  store %"class.boost::io::basic_ios_rdbuf_saver"* %this, %"class.boost::io::basic_ios_rdbuf_saver"** %this.addr, align 4
  %this1 = load %"class.boost::io::basic_ios_rdbuf_saver"** %this.addr
  call void @_ZN5boost2io21basic_ios_rdbuf_saverIcSt11char_traitsIcEED2Ev(%"class.boost::io::basic_ios_rdbuf_saver"* %this1)
  ret void
}

define linkonce_odr void @_ZNSt15basic_stringbufIcSt11char_traitsIcESaIcEED1Ev(%"class.std::basic_stringbuf"* %this) unnamed_addr inlinehint align 2 {
entry:
  %this.addr = alloca %"class.std::basic_stringbuf"*, align 4
  store %"class.std::basic_stringbuf"* %this, %"class.std::basic_stringbuf"** %this.addr, align 4
  %this1 = load %"class.std::basic_stringbuf"** %this.addr
  call void @_ZNSt15basic_stringbufIcSt11char_traitsIcESaIcEED2Ev(%"class.std::basic_stringbuf"* %this1)
  ret void
}

declare void @_ZNSt15basic_stringbufIcSt11char_traitsIcESaIcEEC1ERKSsSt13_Ios_Openmode(%"class.std::basic_stringbuf"*, %"class.std::basic_string"*, i32)

declare void @_ZNSsC1EPKcRKSaIcE(%"class.std::basic_string"*, i8*, %"class.std::allocator"*)

declare void @_ZNSaIcEC1Ev(%"class.std::allocator"*) nounwind

declare void @_ZNSsD1Ev(%"class.std::basic_string"*)

declare void @_ZNSaIcED1Ev(%"class.std::allocator"*) nounwind

define linkonce_odr void @_ZN5boost2io21basic_ios_rdbuf_saverIcSt11char_traitsIcEEC1ERSt9basic_iosIcS3_ERKPSt15basic_streambufIcS3_E(%"class.boost::io::basic_ios_rdbuf_saver"* %this, %"class.std::basic_ios"* %s, %"class.std::basic_streambuf"** %a) unnamed_addr align 2 {
entry:
  %this.addr = alloca %"class.boost::io::basic_ios_rdbuf_saver"*, align 4
  %s.addr = alloca %"class.std::basic_ios"*, align 4
  %a.addr = alloca %"class.std::basic_streambuf"**, align 4
  store %"class.boost::io::basic_ios_rdbuf_saver"* %this, %"class.boost::io::basic_ios_rdbuf_saver"** %this.addr, align 4
  store %"class.std::basic_ios"* %s, %"class.std::basic_ios"** %s.addr, align 4
  store %"class.std::basic_streambuf"** %a, %"class.std::basic_streambuf"*** %a.addr, align 4
  %this1 = load %"class.boost::io::basic_ios_rdbuf_saver"** %this.addr
  %0 = load %"class.std::basic_streambuf"*** %a.addr
  %1 = load %"class.std::basic_ios"** %s.addr
  call void @_ZN5boost2io21basic_ios_rdbuf_saverIcSt11char_traitsIcEEC2ERSt9basic_iosIcS3_ERKPSt15basic_streambufIcS3_E(%"class.boost::io::basic_ios_rdbuf_saver"* %this1, %"class.std::basic_ios"* %1, %"class.std::basic_streambuf"** %0)
  ret void
}

declare void @_ZNSdD1Ev(%"class.std::basic_iostream"*)

define void @_Z24ios_fill_saver_unit_testv() {
entry:
  %ss = alloca %"class.std::basic_stringstream", align 4
  %agg.tmp = alloca %"class.boost::unit_test::basic_cstring", align 4
  %exn.slot = alloca i8*
  %ehselector.slot = alloca i32
  %agg.tmp1 = alloca %"class.boost::unit_test::basic_cstring", align 4
  %agg.tmp4 = alloca %"struct.boost::test_tools::tt_detail::equal_impl_frwd", align 1
  %ref.tmp = alloca %"class.boost::unit_test::lazy_ostream_impl", align 4
  %agg.tmp8 = alloca %"class.boost::unit_test::basic_cstring", align 4
  %ref.tmp11 = alloca i8, align 1
  %ref.tmp14 = alloca i8, align 1
  %ifs = alloca %"class.boost::io::basic_ios_fill_saver", align 4
  %agg.tmp25 = alloca %"class.boost::unit_test::basic_cstring", align 4
  %agg.tmp28 = alloca %"class.boost::unit_test::basic_cstring", align 4
  %agg.tmp31 = alloca %"struct.boost::test_tools::tt_detail::equal_impl_frwd", align 1
  %ref.tmp32 = alloca %"class.boost::unit_test::lazy_ostream_impl", align 4
  %agg.tmp36 = alloca %"class.boost::unit_test::basic_cstring", align 4
  %ref.tmp39 = alloca i8, align 1
  %ref.tmp46 = alloca i8, align 1
  %agg.tmp61 = alloca %"class.boost::unit_test::basic_cstring", align 4
  %agg.tmp63 = alloca %"class.boost::unit_test::basic_cstring", align 4
  %agg.tmp66 = alloca %"struct.boost::test_tools::tt_detail::equal_impl_frwd", align 1
  %ref.tmp67 = alloca %"class.boost::unit_test::lazy_ostream_impl", align 4
  %agg.tmp71 = alloca %"class.boost::unit_test::basic_cstring", align 4
  %ref.tmp74 = alloca i8, align 1
  %ref.tmp81 = alloca i8, align 1
  %agg.tmp92 = alloca %"class.boost::unit_test::basic_cstring", align 4
  %agg.tmp94 = alloca %"class.boost::unit_test::basic_cstring", align 4
  %agg.tmp97 = alloca %"struct.boost::test_tools::tt_detail::equal_impl_frwd", align 1
  %ref.tmp98 = alloca %"class.boost::unit_test::lazy_ostream_impl", align 4
  %agg.tmp102 = alloca %"class.boost::unit_test::basic_cstring", align 4
  %ref.tmp105 = alloca i8, align 1
  %ref.tmp112 = alloca i8, align 1
  %ifs121 = alloca %"class.boost::io::basic_ios_fill_saver", align 4
  %ref.tmp126 = alloca i8, align 1
  %agg.tmp129 = alloca %"class.boost::unit_test::basic_cstring", align 4
  %agg.tmp132 = alloca %"class.boost::unit_test::basic_cstring", align 4
  %agg.tmp135 = alloca %"struct.boost::test_tools::tt_detail::equal_impl_frwd", align 1
  %ref.tmp136 = alloca %"class.boost::unit_test::lazy_ostream_impl", align 4
  %agg.tmp140 = alloca %"class.boost::unit_test::basic_cstring", align 4
  %ref.tmp143 = alloca i8, align 1
  %ref.tmp150 = alloca i8, align 1
  %agg.tmp166 = alloca %"class.boost::unit_test::basic_cstring", align 4
  %agg.tmp168 = alloca %"class.boost::unit_test::basic_cstring", align 4
  %agg.tmp171 = alloca %"struct.boost::test_tools::tt_detail::equal_impl_frwd", align 1
  %ref.tmp172 = alloca %"class.boost::unit_test::lazy_ostream_impl", align 4
  %agg.tmp176 = alloca %"class.boost::unit_test::basic_cstring", align 4
  %ref.tmp179 = alloca i8, align 1
  %ref.tmp186 = alloca i8, align 1
  %agg.tmp199 = alloca %"class.boost::unit_test::basic_cstring", align 4
  %agg.tmp201 = alloca %"class.boost::unit_test::basic_cstring", align 4
  %agg.tmp204 = alloca %"struct.boost::test_tools::tt_detail::equal_impl_frwd", align 1
  %ref.tmp205 = alloca %"class.boost::unit_test::lazy_ostream_impl", align 4
  %agg.tmp209 = alloca %"class.boost::unit_test::basic_cstring", align 4
  %ref.tmp212 = alloca i8, align 1
  %ref.tmp219 = alloca i8, align 1
  %call = call i32 @_ZStorSt13_Ios_OpenmodeS_(i32 16, i32 8)
  call void @_ZNSt18basic_stringstreamIcSt11char_traitsIcESaIcEEC1ESt13_Ios_Openmode(%"class.std::basic_stringstream"* %ss, i32 %call)
  br label %do.body

do.body:                                          ; preds = %do.cond, %entry
  %0 = load %"class.boost::unit_test::unit_test_log_t"** @_ZN5boost9unit_test12_GLOBAL__N_113unit_test_logE, align 4
  invoke void @_ZN5boost9unit_test13basic_cstringIKcEC1EPS2_j(%"class.boost::unit_test::basic_cstring"* %agg.tmp, i8* getelementptr inbounds ([24 x i8]* @.str, i32 0, i32 0), i32 23)
          to label %invoke.cont unwind label %lpad

invoke.cont:                                      ; preds = %do.body
  invoke void @_ZN5boost9unit_test13basic_cstringIKcEC1Ev(%"class.boost::unit_test::basic_cstring"* %agg.tmp1)
          to label %invoke.cont2 unwind label %lpad

invoke.cont2:                                     ; preds = %invoke.cont
  invoke void @_ZN5boost9unit_test15unit_test_log_t14set_checkpointENS0_13basic_cstringIKcEEjS4_(%"class.boost::unit_test::unit_test_log_t"* %0, %"class.boost::unit_test::basic_cstring"* byval align 4 %agg.tmp, i32 336, %"class.boost::unit_test::basic_cstring"* byval align 4 %agg.tmp1)
          to label %invoke.cont3 unwind label %lpad

invoke.cont3:                                     ; preds = %invoke.cont2
  %call6 = invoke %"class.boost::unit_test::lazy_ostream"* @_ZN5boost9unit_test12lazy_ostream8instanceEv()
          to label %invoke.cont5 unwind label %lpad

invoke.cont5:                                     ; preds = %invoke.cont3
  invoke void @_ZN5boost9unit_testlsIA1_cEENS0_17lazy_ostream_implIRKT_EERKNS0_12lazy_ostreamES6_(%"class.boost::unit_test::lazy_ostream_impl"* sret %ref.tmp, %"class.boost::unit_test::lazy_ostream"* %call6, [1 x i8]* @.str3)
          to label %invoke.cont7 unwind label %lpad

invoke.cont7:                                     ; preds = %invoke.cont5
  %1 = bitcast %"class.boost::unit_test::lazy_ostream_impl"* %ref.tmp to %"class.boost::unit_test::lazy_ostream"*
  invoke void @_ZN5boost9unit_test13basic_cstringIKcEC1EPS2_j(%"class.boost::unit_test::basic_cstring"* %agg.tmp8, i8* getelementptr inbounds ([24 x i8]* @.str, i32 0, i32 0), i32 23)
          to label %invoke.cont10 unwind label %lpad9

invoke.cont10:                                    ; preds = %invoke.cont7
  store i8 32, i8* %ref.tmp11, align 1
  %2 = bitcast %"class.std::basic_stringstream"* %ss to i8**
  %vtable = load i8** %2
  %vbase.offset.ptr = getelementptr i8* %vtable, i64 -12
  %3 = bitcast i8* %vbase.offset.ptr to i32*
  %vbase.offset = load i32* %3
  %4 = bitcast %"class.std::basic_stringstream"* %ss to i8*
  %add.ptr = getelementptr inbounds i8* %4, i32 %vbase.offset
  %5 = bitcast i8* %add.ptr to %"class.std::basic_ios"*
  %call13 = invoke signext i8 @_ZNKSt9basic_iosIcSt11char_traitsIcEE4fillEv(%"class.std::basic_ios"* %5)
          to label %invoke.cont12 unwind label %lpad9

invoke.cont12:                                    ; preds = %invoke.cont10
  store i8 %call13, i8* %ref.tmp14, align 1
  %call16 = invoke zeroext i1 @_ZN5boost10test_tools9tt_detail10check_frwdINS1_15equal_impl_frwdEccEEbT_RKNS_9unit_test12lazy_ostreamENS5_13basic_cstringIKcEEjNS1_10tool_levelENS1_10check_typeERKT0_PSA_RKT1_SH_(%"class.boost::unit_test::lazy_ostream"* %1, %"class.boost::unit_test::basic_cstring"* byval align 4 %agg.tmp8, i32 336, i32 1, i32 2, i8* %ref.tmp11, i8* getelementptr inbounds ([4 x i8]* @.str43, i32 0, i32 0), i8* %ref.tmp14, i8* getelementptr inbounds ([10 x i8]* @.str44, i32 0, i32 0))
          to label %invoke.cont15 unwind label %lpad9

invoke.cont15:                                    ; preds = %invoke.cont12
  invoke void @_ZN5boost9unit_test17lazy_ostream_implIRA1_KcED1Ev(%"class.boost::unit_test::lazy_ostream_impl"* %ref.tmp)
          to label %invoke.cont17 unwind label %lpad

invoke.cont17:                                    ; preds = %invoke.cont15
  br label %do.cond

do.cond:                                          ; preds = %invoke.cont17
  %6 = load i8* @_ZN5boost10test_tools12_GLOBAL__N_110dummy_condE, align 1
  %tobool = trunc i8 %6 to i1
  br i1 %tobool, label %do.body, label %do.end

do.end:                                           ; preds = %do.cond
  %7 = bitcast %"class.std::basic_stringstream"* %ss to i8**
  %vtable19 = load i8** %7
  %vbase.offset.ptr20 = getelementptr i8* %vtable19, i64 -12
  %8 = bitcast i8* %vbase.offset.ptr20 to i32*
  %vbase.offset21 = load i32* %8
  %9 = bitcast %"class.std::basic_stringstream"* %ss to i8*
  %add.ptr22 = getelementptr inbounds i8* %9, i32 %vbase.offset21
  %10 = bitcast i8* %add.ptr22 to %"class.std::basic_ios"*
  invoke void @_ZN5boost2io20basic_ios_fill_saverIcSt11char_traitsIcEEC1ERSt9basic_iosIcS3_E(%"class.boost::io::basic_ios_fill_saver"* %ifs, %"class.std::basic_ios"* %10)
          to label %invoke.cont23 unwind label %lpad

invoke.cont23:                                    ; preds = %do.end
  br label %do.body24

do.body24:                                        ; preds = %do.cond51, %invoke.cont23
  %11 = load %"class.boost::unit_test::unit_test_log_t"** @_ZN5boost9unit_test12_GLOBAL__N_113unit_test_logE, align 4
  invoke void @_ZN5boost9unit_test13basic_cstringIKcEC1EPS2_j(%"class.boost::unit_test::basic_cstring"* %agg.tmp25, i8* getelementptr inbounds ([24 x i8]* @.str, i32 0, i32 0), i32 23)
          to label %invoke.cont27 unwind label %lpad26

invoke.cont27:                                    ; preds = %do.body24
  invoke void @_ZN5boost9unit_test13basic_cstringIKcEC1Ev(%"class.boost::unit_test::basic_cstring"* %agg.tmp28)
          to label %invoke.cont29 unwind label %lpad26

invoke.cont29:                                    ; preds = %invoke.cont27
  invoke void @_ZN5boost9unit_test15unit_test_log_t14set_checkpointENS0_13basic_cstringIKcEEjS4_(%"class.boost::unit_test::unit_test_log_t"* %11, %"class.boost::unit_test::basic_cstring"* byval align 4 %agg.tmp25, i32 341, %"class.boost::unit_test::basic_cstring"* byval align 4 %agg.tmp28)
          to label %invoke.cont30 unwind label %lpad26

invoke.cont30:                                    ; preds = %invoke.cont29
  %call34 = invoke %"class.boost::unit_test::lazy_ostream"* @_ZN5boost9unit_test12lazy_ostream8instanceEv()
          to label %invoke.cont33 unwind label %lpad26

invoke.cont33:                                    ; preds = %invoke.cont30
  invoke void @_ZN5boost9unit_testlsIA1_cEENS0_17lazy_ostream_implIRKT_EERKNS0_12lazy_ostreamES6_(%"class.boost::unit_test::lazy_ostream_impl"* sret %ref.tmp32, %"class.boost::unit_test::lazy_ostream"* %call34, [1 x i8]* @.str3)
          to label %invoke.cont35 unwind label %lpad26

invoke.cont35:                                    ; preds = %invoke.cont33
  %12 = bitcast %"class.boost::unit_test::lazy_ostream_impl"* %ref.tmp32 to %"class.boost::unit_test::lazy_ostream"*
  invoke void @_ZN5boost9unit_test13basic_cstringIKcEC1EPS2_j(%"class.boost::unit_test::basic_cstring"* %agg.tmp36, i8* getelementptr inbounds ([24 x i8]* @.str, i32 0, i32 0), i32 23)
          to label %invoke.cont38 unwind label %lpad37

invoke.cont38:                                    ; preds = %invoke.cont35
  store i8 32, i8* %ref.tmp39, align 1
  %13 = bitcast %"class.std::basic_stringstream"* %ss to i8**
  %vtable40 = load i8** %13
  %vbase.offset.ptr41 = getelementptr i8* %vtable40, i64 -12
  %14 = bitcast i8* %vbase.offset.ptr41 to i32*
  %vbase.offset42 = load i32* %14
  %15 = bitcast %"class.std::basic_stringstream"* %ss to i8*
  %add.ptr43 = getelementptr inbounds i8* %15, i32 %vbase.offset42
  %16 = bitcast i8* %add.ptr43 to %"class.std::basic_ios"*
  %call45 = invoke signext i8 @_ZNKSt9basic_iosIcSt11char_traitsIcEE4fillEv(%"class.std::basic_ios"* %16)
          to label %invoke.cont44 unwind label %lpad37

invoke.cont44:                                    ; preds = %invoke.cont38
  store i8 %call45, i8* %ref.tmp46, align 1
  %call48 = invoke zeroext i1 @_ZN5boost10test_tools9tt_detail10check_frwdINS1_15equal_impl_frwdEccEEbT_RKNS_9unit_test12lazy_ostreamENS5_13basic_cstringIKcEEjNS1_10tool_levelENS1_10check_typeERKT0_PSA_RKT1_SH_(%"class.boost::unit_test::lazy_ostream"* %12, %"class.boost::unit_test::basic_cstring"* byval align 4 %agg.tmp36, i32 341, i32 1, i32 2, i8* %ref.tmp39, i8* getelementptr inbounds ([4 x i8]* @.str43, i32 0, i32 0), i8* %ref.tmp46, i8* getelementptr inbounds ([10 x i8]* @.str44, i32 0, i32 0))
          to label %invoke.cont47 unwind label %lpad37

invoke.cont47:                                    ; preds = %invoke.cont44
  invoke void @_ZN5boost9unit_test17lazy_ostream_implIRA1_KcED1Ev(%"class.boost::unit_test::lazy_ostream_impl"* %ref.tmp32)
          to label %invoke.cont49 unwind label %lpad26

invoke.cont49:                                    ; preds = %invoke.cont47
  br label %do.cond51

do.cond51:                                        ; preds = %invoke.cont49
  %17 = load i8* @_ZN5boost10test_tools12_GLOBAL__N_110dummy_condE, align 1
  %tobool52 = trunc i8 %17 to i1
  br i1 %tobool52, label %do.body24, label %do.end53

do.end53:                                         ; preds = %do.cond51
  %18 = bitcast %"class.std::basic_stringstream"* %ss to i8**
  %vtable54 = load i8** %18
  %vbase.offset.ptr55 = getelementptr i8* %vtable54, i64 -12
  %19 = bitcast i8* %vbase.offset.ptr55 to i32*
  %vbase.offset56 = load i32* %19
  %20 = bitcast %"class.std::basic_stringstream"* %ss to i8*
  %add.ptr57 = getelementptr inbounds i8* %20, i32 %vbase.offset56
  %21 = bitcast i8* %add.ptr57 to %"class.std::basic_ios"*
  %call59 = invoke signext i8 @_ZNSt9basic_iosIcSt11char_traitsIcEE4fillEc(%"class.std::basic_ios"* %21, i8 signext 120)
          to label %invoke.cont58 unwind label %lpad26

invoke.cont58:                                    ; preds = %do.end53
  br label %do.body60

do.body60:                                        ; preds = %do.cond86, %invoke.cont58
  %22 = load %"class.boost::unit_test::unit_test_log_t"** @_ZN5boost9unit_test12_GLOBAL__N_113unit_test_logE, align 4
  invoke void @_ZN5boost9unit_test13basic_cstringIKcEC1EPS2_j(%"class.boost::unit_test::basic_cstring"* %agg.tmp61, i8* getelementptr inbounds ([24 x i8]* @.str, i32 0, i32 0), i32 23)
          to label %invoke.cont62 unwind label %lpad26

invoke.cont62:                                    ; preds = %do.body60
  invoke void @_ZN5boost9unit_test13basic_cstringIKcEC1Ev(%"class.boost::unit_test::basic_cstring"* %agg.tmp63)
          to label %invoke.cont64 unwind label %lpad26

invoke.cont64:                                    ; preds = %invoke.cont62
  invoke void @_ZN5boost9unit_test15unit_test_log_t14set_checkpointENS0_13basic_cstringIKcEEjS4_(%"class.boost::unit_test::unit_test_log_t"* %22, %"class.boost::unit_test::basic_cstring"* byval align 4 %agg.tmp61, i32 344, %"class.boost::unit_test::basic_cstring"* byval align 4 %agg.tmp63)
          to label %invoke.cont65 unwind label %lpad26

invoke.cont65:                                    ; preds = %invoke.cont64
  %call69 = invoke %"class.boost::unit_test::lazy_ostream"* @_ZN5boost9unit_test12lazy_ostream8instanceEv()
          to label %invoke.cont68 unwind label %lpad26

invoke.cont68:                                    ; preds = %invoke.cont65
  invoke void @_ZN5boost9unit_testlsIA1_cEENS0_17lazy_ostream_implIRKT_EERKNS0_12lazy_ostreamES6_(%"class.boost::unit_test::lazy_ostream_impl"* sret %ref.tmp67, %"class.boost::unit_test::lazy_ostream"* %call69, [1 x i8]* @.str3)
          to label %invoke.cont70 unwind label %lpad26

invoke.cont70:                                    ; preds = %invoke.cont68
  %23 = bitcast %"class.boost::unit_test::lazy_ostream_impl"* %ref.tmp67 to %"class.boost::unit_test::lazy_ostream"*
  invoke void @_ZN5boost9unit_test13basic_cstringIKcEC1EPS2_j(%"class.boost::unit_test::basic_cstring"* %agg.tmp71, i8* getelementptr inbounds ([24 x i8]* @.str, i32 0, i32 0), i32 23)
          to label %invoke.cont73 unwind label %lpad72

invoke.cont73:                                    ; preds = %invoke.cont70
  store i8 120, i8* %ref.tmp74, align 1
  %24 = bitcast %"class.std::basic_stringstream"* %ss to i8**
  %vtable75 = load i8** %24
  %vbase.offset.ptr76 = getelementptr i8* %vtable75, i64 -12
  %25 = bitcast i8* %vbase.offset.ptr76 to i32*
  %vbase.offset77 = load i32* %25
  %26 = bitcast %"class.std::basic_stringstream"* %ss to i8*
  %add.ptr78 = getelementptr inbounds i8* %26, i32 %vbase.offset77
  %27 = bitcast i8* %add.ptr78 to %"class.std::basic_ios"*
  %call80 = invoke signext i8 @_ZNKSt9basic_iosIcSt11char_traitsIcEE4fillEv(%"class.std::basic_ios"* %27)
          to label %invoke.cont79 unwind label %lpad72

invoke.cont79:                                    ; preds = %invoke.cont73
  store i8 %call80, i8* %ref.tmp81, align 1
  %call83 = invoke zeroext i1 @_ZN5boost10test_tools9tt_detail10check_frwdINS1_15equal_impl_frwdEccEEbT_RKNS_9unit_test12lazy_ostreamENS5_13basic_cstringIKcEEjNS1_10tool_levelENS1_10check_typeERKT0_PSA_RKT1_SH_(%"class.boost::unit_test::lazy_ostream"* %23, %"class.boost::unit_test::basic_cstring"* byval align 4 %agg.tmp71, i32 344, i32 1, i32 2, i8* %ref.tmp74, i8* getelementptr inbounds ([4 x i8]* @.str45, i32 0, i32 0), i8* %ref.tmp81, i8* getelementptr inbounds ([10 x i8]* @.str44, i32 0, i32 0))
          to label %invoke.cont82 unwind label %lpad72

invoke.cont82:                                    ; preds = %invoke.cont79
  invoke void @_ZN5boost9unit_test17lazy_ostream_implIRA1_KcED1Ev(%"class.boost::unit_test::lazy_ostream_impl"* %ref.tmp67)
          to label %invoke.cont84 unwind label %lpad26

invoke.cont84:                                    ; preds = %invoke.cont82
  br label %do.cond86

do.cond86:                                        ; preds = %invoke.cont84
  %28 = load i8* @_ZN5boost10test_tools12_GLOBAL__N_110dummy_condE, align 1
  %tobool87 = trunc i8 %28 to i1
  br i1 %tobool87, label %do.body60, label %do.end88

do.end88:                                         ; preds = %do.cond86
  invoke void @_ZN5boost2io20basic_ios_fill_saverIcSt11char_traitsIcEED1Ev(%"class.boost::io::basic_ios_fill_saver"* %ifs)
          to label %invoke.cont89 unwind label %lpad

invoke.cont89:                                    ; preds = %do.end88
  br label %do.body91

do.body91:                                        ; preds = %do.cond118, %invoke.cont89
  %29 = load %"class.boost::unit_test::unit_test_log_t"** @_ZN5boost9unit_test12_GLOBAL__N_113unit_test_logE, align 4
  invoke void @_ZN5boost9unit_test13basic_cstringIKcEC1EPS2_j(%"class.boost::unit_test::basic_cstring"* %agg.tmp92, i8* getelementptr inbounds ([24 x i8]* @.str, i32 0, i32 0), i32 23)
          to label %invoke.cont93 unwind label %lpad

invoke.cont93:                                    ; preds = %do.body91
  invoke void @_ZN5boost9unit_test13basic_cstringIKcEC1Ev(%"class.boost::unit_test::basic_cstring"* %agg.tmp94)
          to label %invoke.cont95 unwind label %lpad

invoke.cont95:                                    ; preds = %invoke.cont93
  invoke void @_ZN5boost9unit_test15unit_test_log_t14set_checkpointENS0_13basic_cstringIKcEEjS4_(%"class.boost::unit_test::unit_test_log_t"* %29, %"class.boost::unit_test::basic_cstring"* byval align 4 %agg.tmp92, i32 347, %"class.boost::unit_test::basic_cstring"* byval align 4 %agg.tmp94)
          to label %invoke.cont96 unwind label %lpad

invoke.cont96:                                    ; preds = %invoke.cont95
  %call100 = invoke %"class.boost::unit_test::lazy_ostream"* @_ZN5boost9unit_test12lazy_ostream8instanceEv()
          to label %invoke.cont99 unwind label %lpad

invoke.cont99:                                    ; preds = %invoke.cont96
  invoke void @_ZN5boost9unit_testlsIA1_cEENS0_17lazy_ostream_implIRKT_EERKNS0_12lazy_ostreamES6_(%"class.boost::unit_test::lazy_ostream_impl"* sret %ref.tmp98, %"class.boost::unit_test::lazy_ostream"* %call100, [1 x i8]* @.str3)
          to label %invoke.cont101 unwind label %lpad

invoke.cont101:                                   ; preds = %invoke.cont99
  %30 = bitcast %"class.boost::unit_test::lazy_ostream_impl"* %ref.tmp98 to %"class.boost::unit_test::lazy_ostream"*
  invoke void @_ZN5boost9unit_test13basic_cstringIKcEC1EPS2_j(%"class.boost::unit_test::basic_cstring"* %agg.tmp102, i8* getelementptr inbounds ([24 x i8]* @.str, i32 0, i32 0), i32 23)
          to label %invoke.cont104 unwind label %lpad103

invoke.cont104:                                   ; preds = %invoke.cont101
  store i8 32, i8* %ref.tmp105, align 1
  %31 = bitcast %"class.std::basic_stringstream"* %ss to i8**
  %vtable106 = load i8** %31
  %vbase.offset.ptr107 = getelementptr i8* %vtable106, i64 -12
  %32 = bitcast i8* %vbase.offset.ptr107 to i32*
  %vbase.offset108 = load i32* %32
  %33 = bitcast %"class.std::basic_stringstream"* %ss to i8*
  %add.ptr109 = getelementptr inbounds i8* %33, i32 %vbase.offset108
  %34 = bitcast i8* %add.ptr109 to %"class.std::basic_ios"*
  %call111 = invoke signext i8 @_ZNKSt9basic_iosIcSt11char_traitsIcEE4fillEv(%"class.std::basic_ios"* %34)
          to label %invoke.cont110 unwind label %lpad103

invoke.cont110:                                   ; preds = %invoke.cont104
  store i8 %call111, i8* %ref.tmp112, align 1
  %call114 = invoke zeroext i1 @_ZN5boost10test_tools9tt_detail10check_frwdINS1_15equal_impl_frwdEccEEbT_RKNS_9unit_test12lazy_ostreamENS5_13basic_cstringIKcEEjNS1_10tool_levelENS1_10check_typeERKT0_PSA_RKT1_SH_(%"class.boost::unit_test::lazy_ostream"* %30, %"class.boost::unit_test::basic_cstring"* byval align 4 %agg.tmp102, i32 347, i32 1, i32 2, i8* %ref.tmp105, i8* getelementptr inbounds ([4 x i8]* @.str43, i32 0, i32 0), i8* %ref.tmp112, i8* getelementptr inbounds ([10 x i8]* @.str44, i32 0, i32 0))
          to label %invoke.cont113 unwind label %lpad103

invoke.cont113:                                   ; preds = %invoke.cont110
  invoke void @_ZN5boost9unit_test17lazy_ostream_implIRA1_KcED1Ev(%"class.boost::unit_test::lazy_ostream_impl"* %ref.tmp98)
          to label %invoke.cont115 unwind label %lpad

invoke.cont115:                                   ; preds = %invoke.cont113
  br label %do.cond118

do.cond118:                                       ; preds = %invoke.cont115
  %35 = load i8* @_ZN5boost10test_tools12_GLOBAL__N_110dummy_condE, align 1
  %tobool119 = trunc i8 %35 to i1
  br i1 %tobool119, label %do.body91, label %do.end120

do.end120:                                        ; preds = %do.cond118
  %36 = bitcast %"class.std::basic_stringstream"* %ss to i8**
  %vtable122 = load i8** %36
  %vbase.offset.ptr123 = getelementptr i8* %vtable122, i64 -12
  %37 = bitcast i8* %vbase.offset.ptr123 to i32*
  %vbase.offset124 = load i32* %37
  %38 = bitcast %"class.std::basic_stringstream"* %ss to i8*
  %add.ptr125 = getelementptr inbounds i8* %38, i32 %vbase.offset124
  %39 = bitcast i8* %add.ptr125 to %"class.std::basic_ios"*
  store i8 51, i8* %ref.tmp126, align 1
  invoke void @_ZN5boost2io20basic_ios_fill_saverIcSt11char_traitsIcEEC1ERSt9basic_iosIcS3_ERKc(%"class.boost::io::basic_ios_fill_saver"* %ifs121, %"class.std::basic_ios"* %39, i8* %ref.tmp126)
          to label %invoke.cont127 unwind label %lpad

invoke.cont127:                                   ; preds = %do.end120
  br label %do.body128

do.body128:                                       ; preds = %do.cond156, %invoke.cont127
  %40 = load %"class.boost::unit_test::unit_test_log_t"** @_ZN5boost9unit_test12_GLOBAL__N_113unit_test_logE, align 4
  invoke void @_ZN5boost9unit_test13basic_cstringIKcEC1EPS2_j(%"class.boost::unit_test::basic_cstring"* %agg.tmp129, i8* getelementptr inbounds ([24 x i8]* @.str, i32 0, i32 0), i32 23)
          to label %invoke.cont131 unwind label %lpad130

invoke.cont131:                                   ; preds = %do.body128
  invoke void @_ZN5boost9unit_test13basic_cstringIKcEC1Ev(%"class.boost::unit_test::basic_cstring"* %agg.tmp132)
          to label %invoke.cont133 unwind label %lpad130

invoke.cont133:                                   ; preds = %invoke.cont131
  invoke void @_ZN5boost9unit_test15unit_test_log_t14set_checkpointENS0_13basic_cstringIKcEEjS4_(%"class.boost::unit_test::unit_test_log_t"* %40, %"class.boost::unit_test::basic_cstring"* byval align 4 %agg.tmp129, i32 352, %"class.boost::unit_test::basic_cstring"* byval align 4 %agg.tmp132)
          to label %invoke.cont134 unwind label %lpad130

invoke.cont134:                                   ; preds = %invoke.cont133
  %call138 = invoke %"class.boost::unit_test::lazy_ostream"* @_ZN5boost9unit_test12lazy_ostream8instanceEv()
          to label %invoke.cont137 unwind label %lpad130

invoke.cont137:                                   ; preds = %invoke.cont134
  invoke void @_ZN5boost9unit_testlsIA1_cEENS0_17lazy_ostream_implIRKT_EERKNS0_12lazy_ostreamES6_(%"class.boost::unit_test::lazy_ostream_impl"* sret %ref.tmp136, %"class.boost::unit_test::lazy_ostream"* %call138, [1 x i8]* @.str3)
          to label %invoke.cont139 unwind label %lpad130

invoke.cont139:                                   ; preds = %invoke.cont137
  %41 = bitcast %"class.boost::unit_test::lazy_ostream_impl"* %ref.tmp136 to %"class.boost::unit_test::lazy_ostream"*
  invoke void @_ZN5boost9unit_test13basic_cstringIKcEC1EPS2_j(%"class.boost::unit_test::basic_cstring"* %agg.tmp140, i8* getelementptr inbounds ([24 x i8]* @.str, i32 0, i32 0), i32 23)
          to label %invoke.cont142 unwind label %lpad141

invoke.cont142:                                   ; preds = %invoke.cont139
  store i8 51, i8* %ref.tmp143, align 1
  %42 = bitcast %"class.std::basic_stringstream"* %ss to i8**
  %vtable144 = load i8** %42
  %vbase.offset.ptr145 = getelementptr i8* %vtable144, i64 -12
  %43 = bitcast i8* %vbase.offset.ptr145 to i32*
  %vbase.offset146 = load i32* %43
  %44 = bitcast %"class.std::basic_stringstream"* %ss to i8*
  %add.ptr147 = getelementptr inbounds i8* %44, i32 %vbase.offset146
  %45 = bitcast i8* %add.ptr147 to %"class.std::basic_ios"*
  %call149 = invoke signext i8 @_ZNKSt9basic_iosIcSt11char_traitsIcEE4fillEv(%"class.std::basic_ios"* %45)
          to label %invoke.cont148 unwind label %lpad141

invoke.cont148:                                   ; preds = %invoke.cont142
  store i8 %call149, i8* %ref.tmp150, align 1
  %call152 = invoke zeroext i1 @_ZN5boost10test_tools9tt_detail10check_frwdINS1_15equal_impl_frwdEccEEbT_RKNS_9unit_test12lazy_ostreamENS5_13basic_cstringIKcEEjNS1_10tool_levelENS1_10check_typeERKT0_PSA_RKT1_SH_(%"class.boost::unit_test::lazy_ostream"* %41, %"class.boost::unit_test::basic_cstring"* byval align 4 %agg.tmp140, i32 352, i32 1, i32 2, i8* %ref.tmp143, i8* getelementptr inbounds ([4 x i8]* @.str46, i32 0, i32 0), i8* %ref.tmp150, i8* getelementptr inbounds ([10 x i8]* @.str44, i32 0, i32 0))
          to label %invoke.cont151 unwind label %lpad141

invoke.cont151:                                   ; preds = %invoke.cont148
  invoke void @_ZN5boost9unit_test17lazy_ostream_implIRA1_KcED1Ev(%"class.boost::unit_test::lazy_ostream_impl"* %ref.tmp136)
          to label %invoke.cont153 unwind label %lpad130

invoke.cont153:                                   ; preds = %invoke.cont151
  br label %do.cond156

do.cond156:                                       ; preds = %invoke.cont153
  %46 = load i8* @_ZN5boost10test_tools12_GLOBAL__N_110dummy_condE, align 1
  %tobool157 = trunc i8 %46 to i1
  br i1 %tobool157, label %do.body128, label %do.end158

do.end158:                                        ; preds = %do.cond156
  %47 = bitcast %"class.std::basic_stringstream"* %ss to i8**
  %vtable159 = load i8** %47
  %vbase.offset.ptr160 = getelementptr i8* %vtable159, i64 -12
  %48 = bitcast i8* %vbase.offset.ptr160 to i32*
  %vbase.offset161 = load i32* %48
  %49 = bitcast %"class.std::basic_stringstream"* %ss to i8*
  %add.ptr162 = getelementptr inbounds i8* %49, i32 %vbase.offset161
  %50 = bitcast i8* %add.ptr162 to %"class.std::basic_ios"*
  %call164 = invoke signext i8 @_ZNSt9basic_iosIcSt11char_traitsIcEE4fillEc(%"class.std::basic_ios"* %50, i8 signext 43)
          to label %invoke.cont163 unwind label %lpad130

invoke.cont163:                                   ; preds = %do.end158
  br label %do.body165

do.body165:                                       ; preds = %do.cond192, %invoke.cont163
  %51 = load %"class.boost::unit_test::unit_test_log_t"** @_ZN5boost9unit_test12_GLOBAL__N_113unit_test_logE, align 4
  invoke void @_ZN5boost9unit_test13basic_cstringIKcEC1EPS2_j(%"class.boost::unit_test::basic_cstring"* %agg.tmp166, i8* getelementptr inbounds ([24 x i8]* @.str, i32 0, i32 0), i32 23)
          to label %invoke.cont167 unwind label %lpad130

invoke.cont167:                                   ; preds = %do.body165
  invoke void @_ZN5boost9unit_test13basic_cstringIKcEC1Ev(%"class.boost::unit_test::basic_cstring"* %agg.tmp168)
          to label %invoke.cont169 unwind label %lpad130

invoke.cont169:                                   ; preds = %invoke.cont167
  invoke void @_ZN5boost9unit_test15unit_test_log_t14set_checkpointENS0_13basic_cstringIKcEEjS4_(%"class.boost::unit_test::unit_test_log_t"* %51, %"class.boost::unit_test::basic_cstring"* byval align 4 %agg.tmp166, i32 355, %"class.boost::unit_test::basic_cstring"* byval align 4 %agg.tmp168)
          to label %invoke.cont170 unwind label %lpad130

invoke.cont170:                                   ; preds = %invoke.cont169
  %call174 = invoke %"class.boost::unit_test::lazy_ostream"* @_ZN5boost9unit_test12lazy_ostream8instanceEv()
          to label %invoke.cont173 unwind label %lpad130

invoke.cont173:                                   ; preds = %invoke.cont170
  invoke void @_ZN5boost9unit_testlsIA1_cEENS0_17lazy_ostream_implIRKT_EERKNS0_12lazy_ostreamES6_(%"class.boost::unit_test::lazy_ostream_impl"* sret %ref.tmp172, %"class.boost::unit_test::lazy_ostream"* %call174, [1 x i8]* @.str3)
          to label %invoke.cont175 unwind label %lpad130

invoke.cont175:                                   ; preds = %invoke.cont173
  %52 = bitcast %"class.boost::unit_test::lazy_ostream_impl"* %ref.tmp172 to %"class.boost::unit_test::lazy_ostream"*
  invoke void @_ZN5boost9unit_test13basic_cstringIKcEC1EPS2_j(%"class.boost::unit_test::basic_cstring"* %agg.tmp176, i8* getelementptr inbounds ([24 x i8]* @.str, i32 0, i32 0), i32 23)
          to label %invoke.cont178 unwind label %lpad177

invoke.cont178:                                   ; preds = %invoke.cont175
  store i8 43, i8* %ref.tmp179, align 1
  %53 = bitcast %"class.std::basic_stringstream"* %ss to i8**
  %vtable180 = load i8** %53
  %vbase.offset.ptr181 = getelementptr i8* %vtable180, i64 -12
  %54 = bitcast i8* %vbase.offset.ptr181 to i32*
  %vbase.offset182 = load i32* %54
  %55 = bitcast %"class.std::basic_stringstream"* %ss to i8*
  %add.ptr183 = getelementptr inbounds i8* %55, i32 %vbase.offset182
  %56 = bitcast i8* %add.ptr183 to %"class.std::basic_ios"*
  %call185 = invoke signext i8 @_ZNKSt9basic_iosIcSt11char_traitsIcEE4fillEv(%"class.std::basic_ios"* %56)
          to label %invoke.cont184 unwind label %lpad177

invoke.cont184:                                   ; preds = %invoke.cont178
  store i8 %call185, i8* %ref.tmp186, align 1
  %call188 = invoke zeroext i1 @_ZN5boost10test_tools9tt_detail10check_frwdINS1_15equal_impl_frwdEccEEbT_RKNS_9unit_test12lazy_ostreamENS5_13basic_cstringIKcEEjNS1_10tool_levelENS1_10check_typeERKT0_PSA_RKT1_SH_(%"class.boost::unit_test::lazy_ostream"* %52, %"class.boost::unit_test::basic_cstring"* byval align 4 %agg.tmp176, i32 355, i32 1, i32 2, i8* %ref.tmp179, i8* getelementptr inbounds ([4 x i8]* @.str47, i32 0, i32 0), i8* %ref.tmp186, i8* getelementptr inbounds ([10 x i8]* @.str44, i32 0, i32 0))
          to label %invoke.cont187 unwind label %lpad177

invoke.cont187:                                   ; preds = %invoke.cont184
  invoke void @_ZN5boost9unit_test17lazy_ostream_implIRA1_KcED1Ev(%"class.boost::unit_test::lazy_ostream_impl"* %ref.tmp172)
          to label %invoke.cont189 unwind label %lpad130

invoke.cont189:                                   ; preds = %invoke.cont187
  br label %do.cond192

do.cond192:                                       ; preds = %invoke.cont189
  %57 = load i8* @_ZN5boost10test_tools12_GLOBAL__N_110dummy_condE, align 1
  %tobool193 = trunc i8 %57 to i1
  br i1 %tobool193, label %do.body165, label %do.end194

do.end194:                                        ; preds = %do.cond192
  invoke void @_ZN5boost2io20basic_ios_fill_saverIcSt11char_traitsIcEED1Ev(%"class.boost::io::basic_ios_fill_saver"* %ifs121)
          to label %invoke.cont195 unwind label %lpad

invoke.cont195:                                   ; preds = %do.end194
  br label %do.body198

do.body198:                                       ; preds = %do.cond225, %invoke.cont195
  %58 = load %"class.boost::unit_test::unit_test_log_t"** @_ZN5boost9unit_test12_GLOBAL__N_113unit_test_logE, align 4
  invoke void @_ZN5boost9unit_test13basic_cstringIKcEC1EPS2_j(%"class.boost::unit_test::basic_cstring"* %agg.tmp199, i8* getelementptr inbounds ([24 x i8]* @.str, i32 0, i32 0), i32 23)
          to label %invoke.cont200 unwind label %lpad

invoke.cont200:                                   ; preds = %do.body198
  invoke void @_ZN5boost9unit_test13basic_cstringIKcEC1Ev(%"class.boost::unit_test::basic_cstring"* %agg.tmp201)
          to label %invoke.cont202 unwind label %lpad

invoke.cont202:                                   ; preds = %invoke.cont200
  invoke void @_ZN5boost9unit_test15unit_test_log_t14set_checkpointENS0_13basic_cstringIKcEEjS4_(%"class.boost::unit_test::unit_test_log_t"* %58, %"class.boost::unit_test::basic_cstring"* byval align 4 %agg.tmp199, i32 358, %"class.boost::unit_test::basic_cstring"* byval align 4 %agg.tmp201)
          to label %invoke.cont203 unwind label %lpad

invoke.cont203:                                   ; preds = %invoke.cont202
  %call207 = invoke %"class.boost::unit_test::lazy_ostream"* @_ZN5boost9unit_test12lazy_ostream8instanceEv()
          to label %invoke.cont206 unwind label %lpad

invoke.cont206:                                   ; preds = %invoke.cont203
  invoke void @_ZN5boost9unit_testlsIA1_cEENS0_17lazy_ostream_implIRKT_EERKNS0_12lazy_ostreamES6_(%"class.boost::unit_test::lazy_ostream_impl"* sret %ref.tmp205, %"class.boost::unit_test::lazy_ostream"* %call207, [1 x i8]* @.str3)
          to label %invoke.cont208 unwind label %lpad

invoke.cont208:                                   ; preds = %invoke.cont206
  %59 = bitcast %"class.boost::unit_test::lazy_ostream_impl"* %ref.tmp205 to %"class.boost::unit_test::lazy_ostream"*
  invoke void @_ZN5boost9unit_test13basic_cstringIKcEC1EPS2_j(%"class.boost::unit_test::basic_cstring"* %agg.tmp209, i8* getelementptr inbounds ([24 x i8]* @.str, i32 0, i32 0), i32 23)
          to label %invoke.cont211 unwind label %lpad210

invoke.cont211:                                   ; preds = %invoke.cont208
  store i8 32, i8* %ref.tmp212, align 1
  %60 = bitcast %"class.std::basic_stringstream"* %ss to i8**
  %vtable213 = load i8** %60
  %vbase.offset.ptr214 = getelementptr i8* %vtable213, i64 -12
  %61 = bitcast i8* %vbase.offset.ptr214 to i32*
  %vbase.offset215 = load i32* %61
  %62 = bitcast %"class.std::basic_stringstream"* %ss to i8*
  %add.ptr216 = getelementptr inbounds i8* %62, i32 %vbase.offset215
  %63 = bitcast i8* %add.ptr216 to %"class.std::basic_ios"*
  %call218 = invoke signext i8 @_ZNKSt9basic_iosIcSt11char_traitsIcEE4fillEv(%"class.std::basic_ios"* %63)
          to label %invoke.cont217 unwind label %lpad210

invoke.cont217:                                   ; preds = %invoke.cont211
  store i8 %call218, i8* %ref.tmp219, align 1
  %call221 = invoke zeroext i1 @_ZN5boost10test_tools9tt_detail10check_frwdINS1_15equal_impl_frwdEccEEbT_RKNS_9unit_test12lazy_ostreamENS5_13basic_cstringIKcEEjNS1_10tool_levelENS1_10check_typeERKT0_PSA_RKT1_SH_(%"class.boost::unit_test::lazy_ostream"* %59, %"class.boost::unit_test::basic_cstring"* byval align 4 %agg.tmp209, i32 358, i32 1, i32 2, i8* %ref.tmp212, i8* getelementptr inbounds ([4 x i8]* @.str43, i32 0, i32 0), i8* %ref.tmp219, i8* getelementptr inbounds ([10 x i8]* @.str44, i32 0, i32 0))
          to label %invoke.cont220 unwind label %lpad210

invoke.cont220:                                   ; preds = %invoke.cont217
  invoke void @_ZN5boost9unit_test17lazy_ostream_implIRA1_KcED1Ev(%"class.boost::unit_test::lazy_ostream_impl"* %ref.tmp205)
          to label %invoke.cont222 unwind label %lpad

invoke.cont222:                                   ; preds = %invoke.cont220
  br label %do.cond225

do.cond225:                                       ; preds = %invoke.cont222
  %64 = load i8* @_ZN5boost10test_tools12_GLOBAL__N_110dummy_condE, align 1
  %tobool226 = trunc i8 %64 to i1
  br i1 %tobool226, label %do.body198, label %do.end227

do.end227:                                        ; preds = %do.cond225
  call void @_ZNSt18basic_stringstreamIcSt11char_traitsIcESaIcEED1Ev(%"class.std::basic_stringstream"* %ss)
  ret void

lpad:                                             ; preds = %invoke.cont220, %invoke.cont206, %invoke.cont203, %invoke.cont202, %invoke.cont200, %do.body198, %do.end194, %do.end120, %invoke.cont113, %invoke.cont99, %invoke.cont96, %invoke.cont95, %invoke.cont93, %do.body91, %do.end88, %do.end, %invoke.cont15, %invoke.cont5, %invoke.cont3, %invoke.cont2, %invoke.cont, %do.body
  %65 = landingpad { i8*, i32 } personality i8* bitcast (i32 (...)* @__gxx_personality_v0 to i8*)
          cleanup
  %66 = extractvalue { i8*, i32 } %65, 0
  store i8* %66, i8** %exn.slot
  %67 = extractvalue { i8*, i32 } %65, 1
  store i32 %67, i32* %ehselector.slot
  br label %ehcleanup228

lpad9:                                            ; preds = %invoke.cont12, %invoke.cont10, %invoke.cont7
  %68 = landingpad { i8*, i32 } personality i8* bitcast (i32 (...)* @__gxx_personality_v0 to i8*)
          cleanup
  %69 = extractvalue { i8*, i32 } %68, 0
  store i8* %69, i8** %exn.slot
  %70 = extractvalue { i8*, i32 } %68, 1
  store i32 %70, i32* %ehselector.slot
  invoke void @_ZN5boost9unit_test17lazy_ostream_implIRA1_KcED1Ev(%"class.boost::unit_test::lazy_ostream_impl"* %ref.tmp)
          to label %invoke.cont18 unwind label %terminate.lpad

invoke.cont18:                                    ; preds = %lpad9
  br label %ehcleanup228

lpad26:                                           ; preds = %invoke.cont82, %invoke.cont68, %invoke.cont65, %invoke.cont64, %invoke.cont62, %do.body60, %do.end53, %invoke.cont47, %invoke.cont33, %invoke.cont30, %invoke.cont29, %invoke.cont27, %do.body24
  %71 = landingpad { i8*, i32 } personality i8* bitcast (i32 (...)* @__gxx_personality_v0 to i8*)
          cleanup
  %72 = extractvalue { i8*, i32 } %71, 0
  store i8* %72, i8** %exn.slot
  %73 = extractvalue { i8*, i32 } %71, 1
  store i32 %73, i32* %ehselector.slot
  br label %ehcleanup

lpad37:                                           ; preds = %invoke.cont44, %invoke.cont38, %invoke.cont35
  %74 = landingpad { i8*, i32 } personality i8* bitcast (i32 (...)* @__gxx_personality_v0 to i8*)
          cleanup
  %75 = extractvalue { i8*, i32 } %74, 0
  store i8* %75, i8** %exn.slot
  %76 = extractvalue { i8*, i32 } %74, 1
  store i32 %76, i32* %ehselector.slot
  invoke void @_ZN5boost9unit_test17lazy_ostream_implIRA1_KcED1Ev(%"class.boost::unit_test::lazy_ostream_impl"* %ref.tmp32)
          to label %invoke.cont50 unwind label %terminate.lpad

invoke.cont50:                                    ; preds = %lpad37
  br label %ehcleanup

lpad72:                                           ; preds = %invoke.cont79, %invoke.cont73, %invoke.cont70
  %77 = landingpad { i8*, i32 } personality i8* bitcast (i32 (...)* @__gxx_personality_v0 to i8*)
          cleanup
  %78 = extractvalue { i8*, i32 } %77, 0
  store i8* %78, i8** %exn.slot
  %79 = extractvalue { i8*, i32 } %77, 1
  store i32 %79, i32* %ehselector.slot
  invoke void @_ZN5boost9unit_test17lazy_ostream_implIRA1_KcED1Ev(%"class.boost::unit_test::lazy_ostream_impl"* %ref.tmp67)
          to label %invoke.cont85 unwind label %terminate.lpad

invoke.cont85:                                    ; preds = %lpad72
  br label %ehcleanup

ehcleanup:                                        ; preds = %invoke.cont85, %invoke.cont50, %lpad26
  invoke void @_ZN5boost2io20basic_ios_fill_saverIcSt11char_traitsIcEED1Ev(%"class.boost::io::basic_ios_fill_saver"* %ifs)
          to label %invoke.cont90 unwind label %terminate.lpad

invoke.cont90:                                    ; preds = %ehcleanup
  br label %ehcleanup228

lpad103:                                          ; preds = %invoke.cont110, %invoke.cont104, %invoke.cont101
  %80 = landingpad { i8*, i32 } personality i8* bitcast (i32 (...)* @__gxx_personality_v0 to i8*)
          cleanup
  %81 = extractvalue { i8*, i32 } %80, 0
  store i8* %81, i8** %exn.slot
  %82 = extractvalue { i8*, i32 } %80, 1
  store i32 %82, i32* %ehselector.slot
  invoke void @_ZN5boost9unit_test17lazy_ostream_implIRA1_KcED1Ev(%"class.boost::unit_test::lazy_ostream_impl"* %ref.tmp98)
          to label %invoke.cont117 unwind label %terminate.lpad

invoke.cont117:                                   ; preds = %lpad103
  br label %ehcleanup228

lpad130:                                          ; preds = %invoke.cont187, %invoke.cont173, %invoke.cont170, %invoke.cont169, %invoke.cont167, %do.body165, %do.end158, %invoke.cont151, %invoke.cont137, %invoke.cont134, %invoke.cont133, %invoke.cont131, %do.body128
  %83 = landingpad { i8*, i32 } personality i8* bitcast (i32 (...)* @__gxx_personality_v0 to i8*)
          cleanup
  %84 = extractvalue { i8*, i32 } %83, 0
  store i8* %84, i8** %exn.slot
  %85 = extractvalue { i8*, i32 } %83, 1
  store i32 %85, i32* %ehselector.slot
  br label %ehcleanup196

lpad141:                                          ; preds = %invoke.cont148, %invoke.cont142, %invoke.cont139
  %86 = landingpad { i8*, i32 } personality i8* bitcast (i32 (...)* @__gxx_personality_v0 to i8*)
          cleanup
  %87 = extractvalue { i8*, i32 } %86, 0
  store i8* %87, i8** %exn.slot
  %88 = extractvalue { i8*, i32 } %86, 1
  store i32 %88, i32* %ehselector.slot
  invoke void @_ZN5boost9unit_test17lazy_ostream_implIRA1_KcED1Ev(%"class.boost::unit_test::lazy_ostream_impl"* %ref.tmp136)
          to label %invoke.cont155 unwind label %terminate.lpad

invoke.cont155:                                   ; preds = %lpad141
  br label %ehcleanup196

lpad177:                                          ; preds = %invoke.cont184, %invoke.cont178, %invoke.cont175
  %89 = landingpad { i8*, i32 } personality i8* bitcast (i32 (...)* @__gxx_personality_v0 to i8*)
          cleanup
  %90 = extractvalue { i8*, i32 } %89, 0
  store i8* %90, i8** %exn.slot
  %91 = extractvalue { i8*, i32 } %89, 1
  store i32 %91, i32* %ehselector.slot
  invoke void @_ZN5boost9unit_test17lazy_ostream_implIRA1_KcED1Ev(%"class.boost::unit_test::lazy_ostream_impl"* %ref.tmp172)
          to label %invoke.cont191 unwind label %terminate.lpad

invoke.cont191:                                   ; preds = %lpad177
  br label %ehcleanup196

ehcleanup196:                                     ; preds = %invoke.cont191, %invoke.cont155, %lpad130
  invoke void @_ZN5boost2io20basic_ios_fill_saverIcSt11char_traitsIcEED1Ev(%"class.boost::io::basic_ios_fill_saver"* %ifs121)
          to label %invoke.cont197 unwind label %terminate.lpad

invoke.cont197:                                   ; preds = %ehcleanup196
  br label %ehcleanup228

lpad210:                                          ; preds = %invoke.cont217, %invoke.cont211, %invoke.cont208
  %92 = landingpad { i8*, i32 } personality i8* bitcast (i32 (...)* @__gxx_personality_v0 to i8*)
          cleanup
  %93 = extractvalue { i8*, i32 } %92, 0
  store i8* %93, i8** %exn.slot
  %94 = extractvalue { i8*, i32 } %92, 1
  store i32 %94, i32* %ehselector.slot
  invoke void @_ZN5boost9unit_test17lazy_ostream_implIRA1_KcED1Ev(%"class.boost::unit_test::lazy_ostream_impl"* %ref.tmp205)
          to label %invoke.cont224 unwind label %terminate.lpad

invoke.cont224:                                   ; preds = %lpad210
  br label %ehcleanup228

ehcleanup228:                                     ; preds = %invoke.cont224, %invoke.cont197, %invoke.cont117, %invoke.cont90, %invoke.cont18, %lpad
  invoke void @_ZNSt18basic_stringstreamIcSt11char_traitsIcESaIcEED1Ev(%"class.std::basic_stringstream"* %ss)
          to label %invoke.cont229 unwind label %terminate.lpad

invoke.cont229:                                   ; preds = %ehcleanup228
  br label %eh.resume

eh.resume:                                        ; preds = %invoke.cont229
  %exn = load i8** %exn.slot
  %sel = load i32* %ehselector.slot
  %lpad.val = insertvalue { i8*, i32 } undef, i8* %exn, 0
  %lpad.val230 = insertvalue { i8*, i32 } %lpad.val, i32 %sel, 1
  resume { i8*, i32 } %lpad.val230

terminate.lpad:                                   ; preds = %ehcleanup228, %lpad210, %ehcleanup196, %lpad177, %lpad141, %lpad103, %ehcleanup, %lpad72, %lpad37, %lpad9
  %95 = landingpad { i8*, i32 } personality i8* bitcast (i32 (...)* @__gxx_personality_v0 to i8*)
          catch i8* null
  call void @_ZSt9terminatev() noreturn nounwind
  unreachable
}

define linkonce_odr zeroext i1 @_ZN5boost10test_tools9tt_detail10check_frwdINS1_15equal_impl_frwdEccEEbT_RKNS_9unit_test12lazy_ostreamENS5_13basic_cstringIKcEEjNS1_10tool_levelENS1_10check_typeERKT0_PSA_RKT1_SH_(%"class.boost::unit_test::lazy_ostream"* %check_descr, %"class.boost::unit_test::basic_cstring"* byval align 4 %file_name, i32 %line_num, i32 %tl, i32 %ct, i8* %arg0, i8* %arg0_descr, i8* %arg1, i8* %arg1_descr) inlinehint {
entry:
  %P = alloca %"struct.boost::test_tools::tt_detail::equal_impl_frwd", align 1
  %check_descr.addr = alloca %"class.boost::unit_test::lazy_ostream"*, align 4
  %line_num.addr = alloca i32, align 4
  %tl.addr = alloca i32, align 4
  %ct.addr = alloca i32, align 4
  %arg0.addr = alloca i8*, align 4
  %arg0_descr.addr = alloca i8*, align 4
  %arg1.addr = alloca i8*, align 4
  %arg1_descr.addr = alloca i8*, align 4
  %ref.tmp = alloca %"class.boost::test_tools::predicate_result", align 4
  %agg.tmp = alloca %"class.boost::unit_test::basic_cstring", align 4
  %ref.tmp1 = alloca %"class.boost::unit_test::lazy_ostream_impl.39", align 4
  %exn.slot = alloca i8*
  %ehselector.slot = alloca i32
  %ref.tmp2 = alloca %"struct.boost::test_tools::tt_detail::print_helper_t.40", align 4
  %ref.tmp5 = alloca %"class.boost::unit_test::lazy_ostream_impl.39", align 4
  %ref.tmp9 = alloca %"struct.boost::test_tools::tt_detail::print_helper_t.40", align 4
  store %"class.boost::unit_test::lazy_ostream"* %check_descr, %"class.boost::unit_test::lazy_ostream"** %check_descr.addr, align 4
  store i32 %line_num, i32* %line_num.addr, align 4
  store i32 %tl, i32* %tl.addr, align 4
  store i32 %ct, i32* %ct.addr, align 4
  store i8* %arg0, i8** %arg0.addr, align 4
  store i8* %arg0_descr, i8** %arg0_descr.addr, align 4
  store i8* %arg1, i8** %arg1.addr, align 4
  store i8* %arg1_descr, i8** %arg1_descr.addr, align 4
  %0 = load i8** %arg0.addr, align 4
  %1 = load i8** %arg1.addr, align 4
  call void @_ZNK5boost10test_tools9tt_detail15equal_impl_frwdclIccEENS0_16predicate_resultERKT_RKT0_(%"class.boost::test_tools::predicate_result"* sret %ref.tmp, %"struct.boost::test_tools::tt_detail::equal_impl_frwd"* %P, i8* %0, i8* %1)
  %2 = load %"class.boost::unit_test::lazy_ostream"** %check_descr.addr, align 4
  %3 = bitcast %"class.boost::unit_test::basic_cstring"* %agg.tmp to i8*
  %4 = bitcast %"class.boost::unit_test::basic_cstring"* %file_name to i8*
  call void @llvm.memcpy.p0i8.p0i8.i32(i8* %3, i8* %4, i32 8, i32 4, i1 false)
  %5 = load i32* %line_num.addr, align 4
  %6 = load i32* %tl.addr, align 4
  %7 = load i32* %ct.addr, align 4
  %8 = load i8** %arg0_descr.addr, align 4
  %call = invoke %"class.boost::unit_test::lazy_ostream"* @_ZN5boost9unit_test12lazy_ostream8instanceEv()
          to label %invoke.cont unwind label %lpad

invoke.cont:                                      ; preds = %entry
  %9 = load i8** %arg0.addr, align 4
  invoke void @_ZN5boost10test_tools9tt_detail12print_helperIcEENS1_14print_helper_tIT_EERKS4_(%"struct.boost::test_tools::tt_detail::print_helper_t.40"* sret %ref.tmp2, i8* %9)
          to label %invoke.cont3 unwind label %lpad

invoke.cont3:                                     ; preds = %invoke.cont
  invoke void @_ZN5boost9unit_testlsINS_10test_tools9tt_detail14print_helper_tIcEEEENS0_17lazy_ostream_implIRKT_EERKNS0_12lazy_ostreamES9_(%"class.boost::unit_test::lazy_ostream_impl.39"* sret %ref.tmp1, %"class.boost::unit_test::lazy_ostream"* %call, %"struct.boost::test_tools::tt_detail::print_helper_t.40"* %ref.tmp2)
          to label %invoke.cont4 unwind label %lpad

invoke.cont4:                                     ; preds = %invoke.cont3
  %10 = bitcast %"class.boost::unit_test::lazy_ostream_impl.39"* %ref.tmp1 to %"class.boost::unit_test::lazy_ostream"*
  %11 = load i8** %arg1_descr.addr, align 4
  %call8 = invoke %"class.boost::unit_test::lazy_ostream"* @_ZN5boost9unit_test12lazy_ostream8instanceEv()
          to label %invoke.cont7 unwind label %lpad6

invoke.cont7:                                     ; preds = %invoke.cont4
  %12 = load i8** %arg1.addr, align 4
  invoke void @_ZN5boost10test_tools9tt_detail12print_helperIcEENS1_14print_helper_tIT_EERKS4_(%"struct.boost::test_tools::tt_detail::print_helper_t.40"* sret %ref.tmp9, i8* %12)
          to label %invoke.cont10 unwind label %lpad6

invoke.cont10:                                    ; preds = %invoke.cont7
  invoke void @_ZN5boost9unit_testlsINS_10test_tools9tt_detail14print_helper_tIcEEEENS0_17lazy_ostream_implIRKT_EERKNS0_12lazy_ostreamES9_(%"class.boost::unit_test::lazy_ostream_impl.39"* sret %ref.tmp5, %"class.boost::unit_test::lazy_ostream"* %call8, %"struct.boost::test_tools::tt_detail::print_helper_t.40"* %ref.tmp9)
          to label %invoke.cont11 unwind label %lpad6

invoke.cont11:                                    ; preds = %invoke.cont10
  %13 = bitcast %"class.boost::unit_test::lazy_ostream_impl.39"* %ref.tmp5 to %"class.boost::unit_test::lazy_ostream"*
  %call14 = invoke zeroext i1 (%"class.boost::test_tools::predicate_result"*, %"class.boost::unit_test::lazy_ostream"*, %"class.boost::unit_test::basic_cstring"*, i32, i32, i32, i32, ...)* @_ZN5boost10test_tools9tt_detail10check_implERKNS0_16predicate_resultERKNS_9unit_test12lazy_ostreamENS5_13basic_cstringIKcEEjNS1_10tool_levelENS1_10check_typeEjz(%"class.boost::test_tools::predicate_result"* %ref.tmp, %"class.boost::unit_test::lazy_ostream"* %2, %"class.boost::unit_test::basic_cstring"* byval align 4 %agg.tmp, i32 %5, i32 %6, i32 %7, i32 2, i8* %8, %"class.boost::unit_test::lazy_ostream"* %10, i8* %11, %"class.boost::unit_test::lazy_ostream"* %13)
          to label %invoke.cont13 unwind label %lpad12

invoke.cont13:                                    ; preds = %invoke.cont11
  invoke void @_ZN5boost9unit_test17lazy_ostream_implIRKNS_10test_tools9tt_detail14print_helper_tIcEEED1Ev(%"class.boost::unit_test::lazy_ostream_impl.39"* %ref.tmp5)
          to label %invoke.cont15 unwind label %lpad6

invoke.cont15:                                    ; preds = %invoke.cont13
  invoke void @_ZN5boost9unit_test17lazy_ostream_implIRKNS_10test_tools9tt_detail14print_helper_tIcEEED1Ev(%"class.boost::unit_test::lazy_ostream_impl.39"* %ref.tmp1)
          to label %invoke.cont17 unwind label %lpad

invoke.cont17:                                    ; preds = %invoke.cont15
  call void @_ZN5boost10test_tools16predicate_resultD1Ev(%"class.boost::test_tools::predicate_result"* %ref.tmp)
  ret i1 %call14

lpad:                                             ; preds = %invoke.cont15, %invoke.cont3, %invoke.cont, %entry
  %14 = landingpad { i8*, i32 } personality i8* bitcast (i32 (...)* @__gxx_personality_v0 to i8*)
          cleanup
  %15 = extractvalue { i8*, i32 } %14, 0
  store i8* %15, i8** %exn.slot
  %16 = extractvalue { i8*, i32 } %14, 1
  store i32 %16, i32* %ehselector.slot
  br label %ehcleanup19

lpad6:                                            ; preds = %invoke.cont13, %invoke.cont10, %invoke.cont7, %invoke.cont4
  %17 = landingpad { i8*, i32 } personality i8* bitcast (i32 (...)* @__gxx_personality_v0 to i8*)
          cleanup
  %18 = extractvalue { i8*, i32 } %17, 0
  store i8* %18, i8** %exn.slot
  %19 = extractvalue { i8*, i32 } %17, 1
  store i32 %19, i32* %ehselector.slot
  br label %ehcleanup

lpad12:                                           ; preds = %invoke.cont11
  %20 = landingpad { i8*, i32 } personality i8* bitcast (i32 (...)* @__gxx_personality_v0 to i8*)
          cleanup
  %21 = extractvalue { i8*, i32 } %20, 0
  store i8* %21, i8** %exn.slot
  %22 = extractvalue { i8*, i32 } %20, 1
  store i32 %22, i32* %ehselector.slot
  invoke void @_ZN5boost9unit_test17lazy_ostream_implIRKNS_10test_tools9tt_detail14print_helper_tIcEEED1Ev(%"class.boost::unit_test::lazy_ostream_impl.39"* %ref.tmp5)
          to label %invoke.cont16 unwind label %terminate.lpad

invoke.cont16:                                    ; preds = %lpad12
  br label %ehcleanup

ehcleanup:                                        ; preds = %invoke.cont16, %lpad6
  invoke void @_ZN5boost9unit_test17lazy_ostream_implIRKNS_10test_tools9tt_detail14print_helper_tIcEEED1Ev(%"class.boost::unit_test::lazy_ostream_impl.39"* %ref.tmp1)
          to label %invoke.cont18 unwind label %terminate.lpad

invoke.cont18:                                    ; preds = %ehcleanup
  br label %ehcleanup19

ehcleanup19:                                      ; preds = %invoke.cont18, %lpad
  invoke void @_ZN5boost10test_tools16predicate_resultD1Ev(%"class.boost::test_tools::predicate_result"* %ref.tmp)
          to label %invoke.cont20 unwind label %terminate.lpad

invoke.cont20:                                    ; preds = %ehcleanup19
  br label %eh.resume

eh.resume:                                        ; preds = %invoke.cont20
  %exn = load i8** %exn.slot
  %sel = load i32* %ehselector.slot
  %lpad.val = insertvalue { i8*, i32 } undef, i8* %exn, 0
  %lpad.val21 = insertvalue { i8*, i32 } %lpad.val, i32 %sel, 1
  resume { i8*, i32 } %lpad.val21

terminate.lpad:                                   ; preds = %ehcleanup19, %ehcleanup, %lpad12
  %23 = landingpad { i8*, i32 } personality i8* bitcast (i32 (...)* @__gxx_personality_v0 to i8*)
          catch i8* null
  call void @_ZSt9terminatev() noreturn nounwind
  unreachable
}

declare signext i8 @_ZNKSt9basic_iosIcSt11char_traitsIcEE4fillEv(%"class.std::basic_ios"*)

define linkonce_odr void @_ZN5boost2io20basic_ios_fill_saverIcSt11char_traitsIcEEC1ERSt9basic_iosIcS3_E(%"class.boost::io::basic_ios_fill_saver"* %this, %"class.std::basic_ios"* %s) unnamed_addr align 2 {
entry:
  %this.addr = alloca %"class.boost::io::basic_ios_fill_saver"*, align 4
  %s.addr = alloca %"class.std::basic_ios"*, align 4
  store %"class.boost::io::basic_ios_fill_saver"* %this, %"class.boost::io::basic_ios_fill_saver"** %this.addr, align 4
  store %"class.std::basic_ios"* %s, %"class.std::basic_ios"** %s.addr, align 4
  %this1 = load %"class.boost::io::basic_ios_fill_saver"** %this.addr
  %0 = load %"class.std::basic_ios"** %s.addr
  call void @_ZN5boost2io20basic_ios_fill_saverIcSt11char_traitsIcEEC2ERSt9basic_iosIcS3_E(%"class.boost::io::basic_ios_fill_saver"* %this1, %"class.std::basic_ios"* %0)
  ret void
}

declare signext i8 @_ZNSt9basic_iosIcSt11char_traitsIcEE4fillEc(%"class.std::basic_ios"*, i8 signext)

define linkonce_odr void @_ZN5boost2io20basic_ios_fill_saverIcSt11char_traitsIcEED1Ev(%"class.boost::io::basic_ios_fill_saver"* %this) unnamed_addr align 2 {
entry:
  %this.addr = alloca %"class.boost::io::basic_ios_fill_saver"*, align 4
  store %"class.boost::io::basic_ios_fill_saver"* %this, %"class.boost::io::basic_ios_fill_saver"** %this.addr, align 4
  %this1 = load %"class.boost::io::basic_ios_fill_saver"** %this.addr
  call void @_ZN5boost2io20basic_ios_fill_saverIcSt11char_traitsIcEED2Ev(%"class.boost::io::basic_ios_fill_saver"* %this1)
  ret void
}

define linkonce_odr void @_ZN5boost2io20basic_ios_fill_saverIcSt11char_traitsIcEEC1ERSt9basic_iosIcS3_ERKc(%"class.boost::io::basic_ios_fill_saver"* %this, %"class.std::basic_ios"* %s, i8* %a) unnamed_addr align 2 {
entry:
  %this.addr = alloca %"class.boost::io::basic_ios_fill_saver"*, align 4
  %s.addr = alloca %"class.std::basic_ios"*, align 4
  %a.addr = alloca i8*, align 4
  store %"class.boost::io::basic_ios_fill_saver"* %this, %"class.boost::io::basic_ios_fill_saver"** %this.addr, align 4
  store %"class.std::basic_ios"* %s, %"class.std::basic_ios"** %s.addr, align 4
  store i8* %a, i8** %a.addr, align 4
  %this1 = load %"class.boost::io::basic_ios_fill_saver"** %this.addr
  %0 = load i8** %a.addr
  %1 = load %"class.std::basic_ios"** %s.addr
  call void @_ZN5boost2io20basic_ios_fill_saverIcSt11char_traitsIcEEC2ERSt9basic_iosIcS3_ERKc(%"class.boost::io::basic_ios_fill_saver"* %this1, %"class.std::basic_ios"* %1, i8* %0)
  ret void
}

define void @_Z26ios_locale_saver_unit_testv() {
entry:
  %ss = alloca %"class.std::basic_stringstream", align 4
  %agg.tmp = alloca %"class.boost::unit_test::basic_cstring", align 4
  %exn.slot = alloca i8*
  %ehselector.slot = alloca i32
  %agg.tmp1 = alloca %"class.boost::unit_test::basic_cstring", align 4
  %ref.tmp = alloca %"class.boost::test_tools::predicate_result", align 4
  %temp.lvalue = alloca %"class.std::locale", align 4
  %ref.tmp4 = alloca %"class.std::locale", align 4
  %ref.tmp10 = alloca %"class.boost::unit_test::lazy_ostream_impl.0", align 4
  %ref.tmp14 = alloca %"class.boost::unit_test::basic_cstring", align 4
  %agg.tmp17 = alloca %"class.boost::unit_test::basic_cstring", align 4
  %agg.tmp29 = alloca %"class.boost::unit_test::basic_cstring", align 4
  %agg.tmp31 = alloca %"class.boost::unit_test::basic_cstring", align 4
  %ref.tmp34 = alloca %"class.boost::test_tools::predicate_result", align 4
  %ref.tmp35 = alloca %"class.std::locale", align 4
  %ref.tmp42 = alloca %"class.std::locale", align 4
  %cleanup.cond = alloca i1
  %ref.tmp53 = alloca %"class.boost::unit_test::lazy_ostream_impl.0", align 4
  %ref.tmp57 = alloca %"class.boost::unit_test::basic_cstring", align 4
  %agg.tmp60 = alloca %"class.boost::unit_test::basic_cstring", align 4
  %ils = alloca %"class.boost::io::basic_ios_locale_saver", align 4
  %agg.tmp85 = alloca %"class.boost::unit_test::basic_cstring", align 4
  %agg.tmp88 = alloca %"class.boost::unit_test::basic_cstring", align 4
  %ref.tmp91 = alloca %"class.boost::test_tools::predicate_result", align 4
  %temp.lvalue92 = alloca %"class.std::locale", align 4
  %ref.tmp93 = alloca %"class.std::locale", align 4
  %ref.tmp103 = alloca %"class.boost::unit_test::lazy_ostream_impl.0", align 4
  %ref.tmp107 = alloca %"class.boost::unit_test::basic_cstring", align 4
  %agg.tmp110 = alloca %"class.boost::unit_test::basic_cstring", align 4
  %agg.tmp.ensured = alloca %"class.std::locale", align 4
  %agg.tmp134 = alloca %"class.boost::unit_test::basic_cstring", align 4
  %agg.tmp136 = alloca %"class.boost::unit_test::basic_cstring", align 4
  %ref.tmp139 = alloca %"class.boost::test_tools::predicate_result", align 4
  %ref.tmp142 = alloca %"class.std::locale", align 4
  %ref.tmp151 = alloca %"class.boost::unit_test::lazy_ostream_impl.0", align 4
  %ref.tmp155 = alloca %"class.boost::unit_test::basic_cstring", align 4
  %agg.tmp158 = alloca %"class.boost::unit_test::basic_cstring", align 4
  %agg.tmp177 = alloca %"class.boost::unit_test::basic_cstring", align 4
  %agg.tmp179 = alloca %"class.boost::unit_test::basic_cstring", align 4
  %ref.tmp182 = alloca %"class.boost::test_tools::predicate_result", align 4
  %temp.lvalue183 = alloca %"class.std::locale", align 4
  %ref.tmp184 = alloca %"class.std::locale", align 4
  %ref.tmp194 = alloca %"class.boost::unit_test::lazy_ostream_impl.0", align 4
  %ref.tmp198 = alloca %"class.boost::unit_test::basic_cstring", align 4
  %agg.tmp201 = alloca %"class.boost::unit_test::basic_cstring", align 4
  %agg.tmp218 = alloca %"class.boost::unit_test::basic_cstring", align 4
  %agg.tmp220 = alloca %"class.boost::unit_test::basic_cstring", align 4
  %ref.tmp223 = alloca %"class.boost::test_tools::predicate_result", align 4
  %ref.tmp224 = alloca %"class.std::locale", align 4
  %ref.tmp232 = alloca %"class.std::locale", align 4
  %cleanup.cond239 = alloca i1
  %ref.tmp249 = alloca %"class.boost::unit_test::lazy_ostream_impl.0", align 4
  %ref.tmp253 = alloca %"class.boost::unit_test::basic_cstring", align 4
  %agg.tmp256 = alloca %"class.boost::unit_test::basic_cstring", align 4
  %ils278 = alloca %"class.boost::io::basic_ios_locale_saver", align 4
  %agg.tmp287 = alloca %"class.boost::unit_test::basic_cstring", align 4
  %agg.tmp290 = alloca %"class.boost::unit_test::basic_cstring", align 4
  %ref.tmp293 = alloca %"class.boost::test_tools::predicate_result", align 4
  %ref.tmp296 = alloca %"class.std::locale", align 4
  %ref.tmp305 = alloca %"class.boost::unit_test::lazy_ostream_impl.0", align 4
  %ref.tmp309 = alloca %"class.boost::unit_test::basic_cstring", align 4
  %agg.tmp312 = alloca %"class.boost::unit_test::basic_cstring", align 4
  %agg.tmp328 = alloca %"class.boost::unit_test::basic_cstring", align 4
  %agg.tmp330 = alloca %"class.boost::unit_test::basic_cstring", align 4
  %ref.tmp333 = alloca %"class.boost::test_tools::predicate_result", align 4
  %ref.tmp334 = alloca %"class.std::locale", align 4
  %ref.tmp342 = alloca %"class.std::locale", align 4
  %cleanup.cond349 = alloca i1
  %ref.tmp359 = alloca %"class.boost::unit_test::lazy_ostream_impl.0", align 4
  %ref.tmp363 = alloca %"class.boost::unit_test::basic_cstring", align 4
  %agg.tmp366 = alloca %"class.boost::unit_test::basic_cstring", align 4
  %agg.tmp.ensured388 = alloca %"class.std::locale", align 4
  %ref.tmp393 = alloca %"class.std::locale", align 4
  %agg.tmp406 = alloca %"class.boost::unit_test::basic_cstring", align 4
  %agg.tmp408 = alloca %"class.boost::unit_test::basic_cstring", align 4
  %ref.tmp411 = alloca %"class.boost::test_tools::predicate_result", align 4
  %ref.tmp414 = alloca %"class.std::locale", align 4
  %ref.tmp423 = alloca %"class.boost::unit_test::lazy_ostream_impl.0", align 4
  %ref.tmp427 = alloca %"class.boost::unit_test::basic_cstring", align 4
  %agg.tmp430 = alloca %"class.boost::unit_test::basic_cstring", align 4
  %agg.tmp446 = alloca %"class.boost::unit_test::basic_cstring", align 4
  %agg.tmp448 = alloca %"class.boost::unit_test::basic_cstring", align 4
  %ref.tmp451 = alloca %"class.boost::test_tools::predicate_result", align 4
  %ref.tmp452 = alloca %"class.std::locale", align 4
  %ref.tmp459 = alloca %"class.std::locale", align 4
  %cleanup.cond466 = alloca i1
  %ref.tmp475 = alloca %"class.boost::unit_test::lazy_ostream_impl.0", align 4
  %ref.tmp479 = alloca %"class.boost::unit_test::basic_cstring", align 4
  %agg.tmp482 = alloca %"class.boost::unit_test::basic_cstring", align 4
  %agg.tmp508 = alloca %"class.boost::unit_test::basic_cstring", align 4
  %agg.tmp510 = alloca %"class.boost::unit_test::basic_cstring", align 4
  %ref.tmp513 = alloca %"class.boost::test_tools::predicate_result", align 4
  %temp.lvalue514 = alloca %"class.std::locale", align 4
  %ref.tmp515 = alloca %"class.std::locale", align 4
  %ref.tmp525 = alloca %"class.boost::unit_test::lazy_ostream_impl.0", align 4
  %ref.tmp529 = alloca %"class.boost::unit_test::basic_cstring", align 4
  %agg.tmp532 = alloca %"class.boost::unit_test::basic_cstring", align 4
  %agg.tmp549 = alloca %"class.boost::unit_test::basic_cstring", align 4
  %agg.tmp551 = alloca %"class.boost::unit_test::basic_cstring", align 4
  %ref.tmp554 = alloca %"class.boost::test_tools::predicate_result", align 4
  %ref.tmp555 = alloca %"class.std::locale", align 4
  %ref.tmp563 = alloca %"class.std::locale", align 4
  %cleanup.cond570 = alloca i1
  %ref.tmp580 = alloca %"class.boost::unit_test::lazy_ostream_impl.0", align 4
  %ref.tmp584 = alloca %"class.boost::unit_test::basic_cstring", align 4
  %agg.tmp587 = alloca %"class.boost::unit_test::basic_cstring", align 4
  %call = call i32 @_ZStorSt13_Ios_OpenmodeS_(i32 16, i32 8)
  call void @_ZNSt18basic_stringstreamIcSt11char_traitsIcESaIcEEC1ESt13_Ios_Openmode(%"class.std::basic_stringstream"* %ss, i32 %call)
  br label %do.body

do.body:                                          ; preds = %do.cond, %entry
  %0 = load %"class.boost::unit_test::unit_test_log_t"** @_ZN5boost9unit_test12_GLOBAL__N_113unit_test_logE, align 4
  invoke void @_ZN5boost9unit_test13basic_cstringIKcEC1EPS2_j(%"class.boost::unit_test::basic_cstring"* %agg.tmp, i8* getelementptr inbounds ([24 x i8]* @.str, i32 0, i32 0), i32 23)
          to label %invoke.cont unwind label %lpad

invoke.cont:                                      ; preds = %do.body
  invoke void @_ZN5boost9unit_test13basic_cstringIKcEC1Ev(%"class.boost::unit_test::basic_cstring"* %agg.tmp1)
          to label %invoke.cont2 unwind label %lpad

invoke.cont2:                                     ; preds = %invoke.cont
  invoke void @_ZN5boost9unit_test15unit_test_log_t14set_checkpointENS0_13basic_cstringIKcEEjS4_(%"class.boost::unit_test::unit_test_log_t"* %0, %"class.boost::unit_test::basic_cstring"* byval align 4 %agg.tmp, i32 373, %"class.boost::unit_test::basic_cstring"* byval align 4 %agg.tmp1)
          to label %invoke.cont3 unwind label %lpad

invoke.cont3:                                     ; preds = %invoke.cont2
  call void @_ZNSt6localeC1Ev(%"class.std::locale"* %temp.lvalue) nounwind
  %1 = bitcast %"class.std::basic_stringstream"* %ss to i8**
  %vtable = load i8** %1
  %vbase.offset.ptr = getelementptr i8* %vtable, i64 -12
  %2 = bitcast i8* %vbase.offset.ptr to i32*
  %vbase.offset = load i32* %2
  %3 = bitcast %"class.std::basic_stringstream"* %ss to i8*
  %add.ptr = getelementptr inbounds i8* %3, i32 %vbase.offset
  %4 = bitcast i8* %add.ptr to %"class.std::ios_base"*
  invoke void @_ZNKSt8ios_base6getlocEv(%"class.std::locale"* sret %ref.tmp4, %"class.std::ios_base"* %4)
          to label %invoke.cont6 unwind label %lpad5

invoke.cont6:                                     ; preds = %invoke.cont3
  %call7 = call zeroext i1 @_ZNKSt6localeeqERKS_(%"class.std::locale"* %temp.lvalue, %"class.std::locale"* %ref.tmp4) nounwind
  invoke void @_ZN5boost10test_tools16predicate_resultC1Eb(%"class.boost::test_tools::predicate_result"* %ref.tmp, i1 zeroext %call7)
          to label %invoke.cont9 unwind label %lpad8

invoke.cont9:                                     ; preds = %invoke.cont6
  %call13 = invoke %"class.boost::unit_test::lazy_ostream"* @_ZN5boost9unit_test12lazy_ostream8instanceEv()
          to label %invoke.cont12 unwind label %lpad11

invoke.cont12:                                    ; preds = %invoke.cont9
  invoke void @_ZN5boost9unit_test13basic_cstringIKcEC1EPS2_j(%"class.boost::unit_test::basic_cstring"* %ref.tmp14, i8* getelementptr inbounds ([24 x i8]* @.str48, i32 0, i32 0), i32 23)
          to label %invoke.cont15 unwind label %lpad11

invoke.cont15:                                    ; preds = %invoke.cont12
  invoke void @_ZN5boost9unit_testlsINS0_13basic_cstringIKcEEEENS0_17lazy_ostream_implIRKT_EERKNS0_12lazy_ostreamES8_(%"class.boost::unit_test::lazy_ostream_impl.0"* sret %ref.tmp10, %"class.boost::unit_test::lazy_ostream"* %call13, %"class.boost::unit_test::basic_cstring"* %ref.tmp14)
          to label %invoke.cont16 unwind label %lpad11

invoke.cont16:                                    ; preds = %invoke.cont15
  %5 = bitcast %"class.boost::unit_test::lazy_ostream_impl.0"* %ref.tmp10 to %"class.boost::unit_test::lazy_ostream"*
  invoke void @_ZN5boost9unit_test13basic_cstringIKcEC1EPS2_j(%"class.boost::unit_test::basic_cstring"* %agg.tmp17, i8* getelementptr inbounds ([24 x i8]* @.str, i32 0, i32 0), i32 23)
          to label %invoke.cont19 unwind label %lpad18

invoke.cont19:                                    ; preds = %invoke.cont16
  %call21 = invoke zeroext i1 (%"class.boost::test_tools::predicate_result"*, %"class.boost::unit_test::lazy_ostream"*, %"class.boost::unit_test::basic_cstring"*, i32, i32, i32, i32, ...)* @_ZN5boost10test_tools9tt_detail10check_implERKNS0_16predicate_resultERKNS_9unit_test12lazy_ostreamENS5_13basic_cstringIKcEEjNS1_10tool_levelENS1_10check_typeEjz(%"class.boost::test_tools::predicate_result"* %ref.tmp, %"class.boost::unit_test::lazy_ostream"* %5, %"class.boost::unit_test::basic_cstring"* byval align 4 %agg.tmp17, i32 373, i32 1, i32 0, i32 0)
          to label %invoke.cont20 unwind label %lpad18

invoke.cont20:                                    ; preds = %invoke.cont19
  invoke void @_ZN5boost9unit_test17lazy_ostream_implIRKNS0_13basic_cstringIKcEEED1Ev(%"class.boost::unit_test::lazy_ostream_impl.0"* %ref.tmp10)
          to label %invoke.cont22 unwind label %lpad11

invoke.cont22:                                    ; preds = %invoke.cont20
  invoke void @_ZN5boost10test_tools16predicate_resultD1Ev(%"class.boost::test_tools::predicate_result"* %ref.tmp)
          to label %invoke.cont24 unwind label %lpad8

invoke.cont24:                                    ; preds = %invoke.cont22
  call void @_ZNSt6localeD1Ev(%"class.std::locale"* %ref.tmp4) nounwind
  call void @_ZNSt6localeD1Ev(%"class.std::locale"* %temp.lvalue) nounwind
  br label %do.cond

do.cond:                                          ; preds = %invoke.cont24
  %6 = load i8* @_ZN5boost10test_tools12_GLOBAL__N_110dummy_condE, align 1
  %tobool = trunc i8 %6 to i1
  br i1 %tobool, label %do.body, label %do.end

do.end:                                           ; preds = %do.cond
  br label %do.body28

do.body28:                                        ; preds = %do.cond76, %do.end
  %7 = load %"class.boost::unit_test::unit_test_log_t"** @_ZN5boost9unit_test12_GLOBAL__N_113unit_test_logE, align 4
  invoke void @_ZN5boost9unit_test13basic_cstringIKcEC1EPS2_j(%"class.boost::unit_test::basic_cstring"* %agg.tmp29, i8* getelementptr inbounds ([24 x i8]* @.str, i32 0, i32 0), i32 23)
          to label %invoke.cont30 unwind label %lpad

invoke.cont30:                                    ; preds = %do.body28
  invoke void @_ZN5boost9unit_test13basic_cstringIKcEC1Ev(%"class.boost::unit_test::basic_cstring"* %agg.tmp31)
          to label %invoke.cont32 unwind label %lpad

invoke.cont32:                                    ; preds = %invoke.cont30
  invoke void @_ZN5boost9unit_test15unit_test_log_t14set_checkpointENS0_13basic_cstringIKcEEjS4_(%"class.boost::unit_test::unit_test_log_t"* %7, %"class.boost::unit_test::basic_cstring"* byval align 4 %agg.tmp29, i32 377, %"class.boost::unit_test::basic_cstring"* byval align 4 %agg.tmp31)
          to label %invoke.cont33 unwind label %lpad

invoke.cont33:                                    ; preds = %invoke.cont32
  %8 = bitcast %"class.std::basic_stringstream"* %ss to i8**
  %vtable36 = load i8** %8
  %vbase.offset.ptr37 = getelementptr i8* %vtable36, i64 -12
  %9 = bitcast i8* %vbase.offset.ptr37 to i32*
  %vbase.offset38 = load i32* %9
  %10 = bitcast %"class.std::basic_stringstream"* %ss to i8*
  %add.ptr39 = getelementptr inbounds i8* %10, i32 %vbase.offset38
  %11 = bitcast i8* %add.ptr39 to %"class.std::ios_base"*
  store i1 false, i1* %cleanup.cond
  invoke void @_ZNKSt8ios_base6getlocEv(%"class.std::locale"* sret %ref.tmp35, %"class.std::ios_base"* %11)
          to label %invoke.cont40 unwind label %lpad

invoke.cont40:                                    ; preds = %invoke.cont33
  %call41 = call zeroext i1 @_ZSt9has_facetISt8numpunctIcEEbRKSt6locale(%"class.std::locale"* %ref.tmp35) nounwind
  br i1 %call41, label %lor.rhs, label %lor.end

lor.rhs:                                          ; preds = %invoke.cont40
  %12 = bitcast %"class.std::basic_stringstream"* %ss to i8**
  %vtable43 = load i8** %12
  %vbase.offset.ptr44 = getelementptr i8* %vtable43, i64 -12
  %13 = bitcast i8* %vbase.offset.ptr44 to i32*
  %vbase.offset45 = load i32* %13
  %14 = bitcast %"class.std::basic_stringstream"* %ss to i8*
  %add.ptr46 = getelementptr inbounds i8* %14, i32 %vbase.offset45
  %15 = bitcast i8* %add.ptr46 to %"class.std::ios_base"*
  invoke void @_ZNKSt8ios_base6getlocEv(%"class.std::locale"* sret %ref.tmp42, %"class.std::ios_base"* %15)
          to label %invoke.cont48 unwind label %lpad47

invoke.cont48:                                    ; preds = %lor.rhs
  store i1 true, i1* %cleanup.cond
  %call51 = invoke %"class.std::numpunct"* @_ZSt9use_facetISt8numpunctIcEERKT_RKSt6locale(%"class.std::locale"* %ref.tmp42)
          to label %invoke.cont50 unwind label %lpad49

invoke.cont50:                                    ; preds = %invoke.cont48
  %16 = icmp eq %"class.std::numpunct"* %call51, null
  br i1 %16, label %dynamic_cast.null, label %dynamic_cast.notnull

dynamic_cast.notnull:                             ; preds = %invoke.cont50
  %17 = bitcast %"class.std::numpunct"* %call51 to i8*
  %18 = call i8* @__dynamic_cast(i8* %17, i8* bitcast (i8** @_ZTISt8numpunctIcE to i8*), i8* bitcast ({ i8*, i8*, i8* }* @_ZTI19backward_bool_names to i8*), i32 -1)
  %19 = bitcast i8* %18 to %class.backward_bool_names*
  br label %dynamic_cast.end

lpad:                                             ; preds = %invoke.cont553, %invoke.cont552, %invoke.cont550, %do.body548, %invoke.cont511, %invoke.cont509, %do.body507, %do.end503, %invoke.cont283, %do.end277, %invoke.cont222, %invoke.cont221, %invoke.cont219, %do.body217, %invoke.cont180, %invoke.cont178, %do.body176, %do.end172, %do.end78, %invoke.cont33, %invoke.cont32, %invoke.cont30, %do.body28, %invoke.cont2, %invoke.cont, %do.body
  %20 = landingpad { i8*, i32 } personality i8* bitcast (i32 (...)* @__gxx_personality_v0 to i8*)
          cleanup
  %21 = extractvalue { i8*, i32 } %20, 0
  store i8* %21, i8** %exn.slot
  %22 = extractvalue { i8*, i32 } %20, 1
  store i32 %22, i32* %ehselector.slot
  br label %ehcleanup609

lpad5:                                            ; preds = %invoke.cont3
  %23 = landingpad { i8*, i32 } personality i8* bitcast (i32 (...)* @__gxx_personality_v0 to i8*)
          cleanup
  %24 = extractvalue { i8*, i32 } %23, 0
  store i8* %24, i8** %exn.slot
  %25 = extractvalue { i8*, i32 } %23, 1
  store i32 %25, i32* %ehselector.slot
  br label %ehcleanup27

lpad8:                                            ; preds = %invoke.cont22, %invoke.cont6
  %26 = landingpad { i8*, i32 } personality i8* bitcast (i32 (...)* @__gxx_personality_v0 to i8*)
          cleanup
  %27 = extractvalue { i8*, i32 } %26, 0
  store i8* %27, i8** %exn.slot
  %28 = extractvalue { i8*, i32 } %26, 1
  store i32 %28, i32* %ehselector.slot
  br label %ehcleanup26

lpad11:                                           ; preds = %invoke.cont20, %invoke.cont15, %invoke.cont12, %invoke.cont9
  %29 = landingpad { i8*, i32 } personality i8* bitcast (i32 (...)* @__gxx_personality_v0 to i8*)
          cleanup
  %30 = extractvalue { i8*, i32 } %29, 0
  store i8* %30, i8** %exn.slot
  %31 = extractvalue { i8*, i32 } %29, 1
  store i32 %31, i32* %ehselector.slot
  br label %ehcleanup

lpad18:                                           ; preds = %invoke.cont19, %invoke.cont16
  %32 = landingpad { i8*, i32 } personality i8* bitcast (i32 (...)* @__gxx_personality_v0 to i8*)
          cleanup
  %33 = extractvalue { i8*, i32 } %32, 0
  store i8* %33, i8** %exn.slot
  %34 = extractvalue { i8*, i32 } %32, 1
  store i32 %34, i32* %ehselector.slot
  invoke void @_ZN5boost9unit_test17lazy_ostream_implIRKNS0_13basic_cstringIKcEEED1Ev(%"class.boost::unit_test::lazy_ostream_impl.0"* %ref.tmp10)
          to label %invoke.cont23 unwind label %terminate.lpad

invoke.cont23:                                    ; preds = %lpad18
  br label %ehcleanup

ehcleanup:                                        ; preds = %invoke.cont23, %lpad11
  invoke void @_ZN5boost10test_tools16predicate_resultD1Ev(%"class.boost::test_tools::predicate_result"* %ref.tmp)
          to label %invoke.cont25 unwind label %terminate.lpad

invoke.cont25:                                    ; preds = %ehcleanup
  br label %ehcleanup26

ehcleanup26:                                      ; preds = %invoke.cont25, %lpad8
  call void @_ZNSt6localeD1Ev(%"class.std::locale"* %ref.tmp4) nounwind
  br label %ehcleanup27

ehcleanup27:                                      ; preds = %ehcleanup26, %lpad5
  call void @_ZNSt6localeD1Ev(%"class.std::locale"* %temp.lvalue) nounwind
  br label %ehcleanup609

lpad47:                                           ; preds = %lor.rhs
  %35 = landingpad { i8*, i32 } personality i8* bitcast (i32 (...)* @__gxx_personality_v0 to i8*)
          cleanup
  %36 = extractvalue { i8*, i32 } %35, 0
  store i8* %36, i8** %exn.slot
  %37 = extractvalue { i8*, i32 } %35, 1
  store i32 %37, i32* %ehselector.slot
  br label %ehcleanup75

lpad49:                                           ; preds = %invoke.cont65, %lor.end, %invoke.cont48
  %38 = landingpad { i8*, i32 } personality i8* bitcast (i32 (...)* @__gxx_personality_v0 to i8*)
          cleanup
  %39 = extractvalue { i8*, i32 } %38, 0
  store i8* %39, i8** %exn.slot
  %40 = extractvalue { i8*, i32 } %38, 1
  store i32 %40, i32* %ehselector.slot
  br label %ehcleanup71

dynamic_cast.null:                                ; preds = %invoke.cont50
  br label %dynamic_cast.end

dynamic_cast.end:                                 ; preds = %dynamic_cast.null, %dynamic_cast.notnull
  %41 = phi %class.backward_bool_names* [ %19, %dynamic_cast.notnull ], [ null, %dynamic_cast.null ]
  %cmp = icmp eq %class.backward_bool_names* null, %41
  br label %lor.end

lor.end:                                          ; preds = %dynamic_cast.end, %invoke.cont40
  %42 = phi i1 [ true, %invoke.cont40 ], [ %cmp, %dynamic_cast.end ]
  invoke void @_ZN5boost10test_tools16predicate_resultC1Eb(%"class.boost::test_tools::predicate_result"* %ref.tmp34, i1 zeroext %42)
          to label %invoke.cont52 unwind label %lpad49

invoke.cont52:                                    ; preds = %lor.end
  %call56 = invoke %"class.boost::unit_test::lazy_ostream"* @_ZN5boost9unit_test12lazy_ostream8instanceEv()
          to label %invoke.cont55 unwind label %lpad54

invoke.cont55:                                    ; preds = %invoke.cont52
  invoke void @_ZN5boost9unit_test13basic_cstringIKcEC1EPS2_j(%"class.boost::unit_test::basic_cstring"* %ref.tmp57, i8* getelementptr inbounds ([128 x i8]* @.str49, i32 0, i32 0), i32 127)
          to label %invoke.cont58 unwind label %lpad54

invoke.cont58:                                    ; preds = %invoke.cont55
  invoke void @_ZN5boost9unit_testlsINS0_13basic_cstringIKcEEEENS0_17lazy_ostream_implIRKT_EERKNS0_12lazy_ostreamES8_(%"class.boost::unit_test::lazy_ostream_impl.0"* sret %ref.tmp53, %"class.boost::unit_test::lazy_ostream"* %call56, %"class.boost::unit_test::basic_cstring"* %ref.tmp57)
          to label %invoke.cont59 unwind label %lpad54

invoke.cont59:                                    ; preds = %invoke.cont58
  %43 = bitcast %"class.boost::unit_test::lazy_ostream_impl.0"* %ref.tmp53 to %"class.boost::unit_test::lazy_ostream"*
  invoke void @_ZN5boost9unit_test13basic_cstringIKcEC1EPS2_j(%"class.boost::unit_test::basic_cstring"* %agg.tmp60, i8* getelementptr inbounds ([24 x i8]* @.str, i32 0, i32 0), i32 23)
          to label %invoke.cont62 unwind label %lpad61

invoke.cont62:                                    ; preds = %invoke.cont59
  %call64 = invoke zeroext i1 (%"class.boost::test_tools::predicate_result"*, %"class.boost::unit_test::lazy_ostream"*, %"class.boost::unit_test::basic_cstring"*, i32, i32, i32, i32, ...)* @_ZN5boost10test_tools9tt_detail10check_implERKNS0_16predicate_resultERKNS_9unit_test12lazy_ostreamENS5_13basic_cstringIKcEEjNS1_10tool_levelENS1_10check_typeEjz(%"class.boost::test_tools::predicate_result"* %ref.tmp34, %"class.boost::unit_test::lazy_ostream"* %43, %"class.boost::unit_test::basic_cstring"* byval align 4 %agg.tmp60, i32 377, i32 1, i32 0, i32 0)
          to label %invoke.cont63 unwind label %lpad61

invoke.cont63:                                    ; preds = %invoke.cont62
  invoke void @_ZN5boost9unit_test17lazy_ostream_implIRKNS0_13basic_cstringIKcEEED1Ev(%"class.boost::unit_test::lazy_ostream_impl.0"* %ref.tmp53)
          to label %invoke.cont65 unwind label %lpad54

invoke.cont65:                                    ; preds = %invoke.cont63
  invoke void @_ZN5boost10test_tools16predicate_resultD1Ev(%"class.boost::test_tools::predicate_result"* %ref.tmp34)
          to label %invoke.cont68 unwind label %lpad49

invoke.cont68:                                    ; preds = %invoke.cont65
  %cleanup.is_active = load i1* %cleanup.cond
  br i1 %cleanup.is_active, label %cleanup.action, label %cleanup.done

cleanup.action:                                   ; preds = %invoke.cont68
  call void @_ZNSt6localeD1Ev(%"class.std::locale"* %ref.tmp42) nounwind
  br label %cleanup.done

cleanup.done:                                     ; preds = %cleanup.action, %invoke.cont68
  call void @_ZNSt6localeD1Ev(%"class.std::locale"* %ref.tmp35) nounwind
  br label %do.cond76

do.cond76:                                        ; preds = %cleanup.done
  %44 = load i8* @_ZN5boost10test_tools12_GLOBAL__N_110dummy_condE, align 1
  %tobool77 = trunc i8 %44 to i1
  br i1 %tobool77, label %do.body28, label %do.end78

do.end78:                                         ; preds = %do.cond76
  %45 = bitcast %"class.std::basic_stringstream"* %ss to i8**
  %vtable79 = load i8** %45
  %vbase.offset.ptr80 = getelementptr i8* %vtable79, i64 -12
  %46 = bitcast i8* %vbase.offset.ptr80 to i32*
  %vbase.offset81 = load i32* %46
  %47 = bitcast %"class.std::basic_stringstream"* %ss to i8*
  %add.ptr82 = getelementptr inbounds i8* %47, i32 %vbase.offset81
  %48 = bitcast i8* %add.ptr82 to %"class.std::basic_ios"*
  invoke void @_ZN5boost2io22basic_ios_locale_saverIcSt11char_traitsIcEEC1ERSt9basic_iosIcS3_E(%"class.boost::io::basic_ios_locale_saver"* %ils, %"class.std::basic_ios"* %48)
          to label %invoke.cont83 unwind label %lpad

invoke.cont83:                                    ; preds = %do.end78
  br label %do.body84

do.body84:                                        ; preds = %do.cond123, %invoke.cont83
  %49 = load %"class.boost::unit_test::unit_test_log_t"** @_ZN5boost9unit_test12_GLOBAL__N_113unit_test_logE, align 4
  invoke void @_ZN5boost9unit_test13basic_cstringIKcEC1EPS2_j(%"class.boost::unit_test::basic_cstring"* %agg.tmp85, i8* getelementptr inbounds ([24 x i8]* @.str, i32 0, i32 0), i32 23)
          to label %invoke.cont87 unwind label %lpad86

invoke.cont87:                                    ; preds = %do.body84
  invoke void @_ZN5boost9unit_test13basic_cstringIKcEC1Ev(%"class.boost::unit_test::basic_cstring"* %agg.tmp88)
          to label %invoke.cont89 unwind label %lpad86

invoke.cont89:                                    ; preds = %invoke.cont87
  invoke void @_ZN5boost9unit_test15unit_test_log_t14set_checkpointENS0_13basic_cstringIKcEEjS4_(%"class.boost::unit_test::unit_test_log_t"* %49, %"class.boost::unit_test::basic_cstring"* byval align 4 %agg.tmp85, i32 386, %"class.boost::unit_test::basic_cstring"* byval align 4 %agg.tmp88)
          to label %invoke.cont90 unwind label %lpad86

invoke.cont90:                                    ; preds = %invoke.cont89
  call void @_ZNSt6localeC1Ev(%"class.std::locale"* %temp.lvalue92) nounwind
  %50 = bitcast %"class.std::basic_stringstream"* %ss to i8**
  %vtable94 = load i8** %50
  %vbase.offset.ptr95 = getelementptr i8* %vtable94, i64 -12
  %51 = bitcast i8* %vbase.offset.ptr95 to i32*
  %vbase.offset96 = load i32* %51
  %52 = bitcast %"class.std::basic_stringstream"* %ss to i8*
  %add.ptr97 = getelementptr inbounds i8* %52, i32 %vbase.offset96
  %53 = bitcast i8* %add.ptr97 to %"class.std::ios_base"*
  invoke void @_ZNKSt8ios_base6getlocEv(%"class.std::locale"* sret %ref.tmp93, %"class.std::ios_base"* %53)
          to label %invoke.cont99 unwind label %lpad98

invoke.cont99:                                    ; preds = %invoke.cont90
  %call100 = call zeroext i1 @_ZNKSt6localeeqERKS_(%"class.std::locale"* %temp.lvalue92, %"class.std::locale"* %ref.tmp93) nounwind
  invoke void @_ZN5boost10test_tools16predicate_resultC1Eb(%"class.boost::test_tools::predicate_result"* %ref.tmp91, i1 zeroext %call100)
          to label %invoke.cont102 unwind label %lpad101

invoke.cont102:                                   ; preds = %invoke.cont99
  %call106 = invoke %"class.boost::unit_test::lazy_ostream"* @_ZN5boost9unit_test12lazy_ostream8instanceEv()
          to label %invoke.cont105 unwind label %lpad104

invoke.cont105:                                   ; preds = %invoke.cont102
  invoke void @_ZN5boost9unit_test13basic_cstringIKcEC1EPS2_j(%"class.boost::unit_test::basic_cstring"* %ref.tmp107, i8* getelementptr inbounds ([24 x i8]* @.str48, i32 0, i32 0), i32 23)
          to label %invoke.cont108 unwind label %lpad104

invoke.cont108:                                   ; preds = %invoke.cont105
  invoke void @_ZN5boost9unit_testlsINS0_13basic_cstringIKcEEEENS0_17lazy_ostream_implIRKT_EERKNS0_12lazy_ostreamES8_(%"class.boost::unit_test::lazy_ostream_impl.0"* sret %ref.tmp103, %"class.boost::unit_test::lazy_ostream"* %call106, %"class.boost::unit_test::basic_cstring"* %ref.tmp107)
          to label %invoke.cont109 unwind label %lpad104

invoke.cont109:                                   ; preds = %invoke.cont108
  %54 = bitcast %"class.boost::unit_test::lazy_ostream_impl.0"* %ref.tmp103 to %"class.boost::unit_test::lazy_ostream"*
  invoke void @_ZN5boost9unit_test13basic_cstringIKcEC1EPS2_j(%"class.boost::unit_test::basic_cstring"* %agg.tmp110, i8* getelementptr inbounds ([24 x i8]* @.str, i32 0, i32 0), i32 23)
          to label %invoke.cont112 unwind label %lpad111

invoke.cont112:                                   ; preds = %invoke.cont109
  %call114 = invoke zeroext i1 (%"class.boost::test_tools::predicate_result"*, %"class.boost::unit_test::lazy_ostream"*, %"class.boost::unit_test::basic_cstring"*, i32, i32, i32, i32, ...)* @_ZN5boost10test_tools9tt_detail10check_implERKNS0_16predicate_resultERKNS_9unit_test12lazy_ostreamENS5_13basic_cstringIKcEEjNS1_10tool_levelENS1_10check_typeEjz(%"class.boost::test_tools::predicate_result"* %ref.tmp91, %"class.boost::unit_test::lazy_ostream"* %54, %"class.boost::unit_test::basic_cstring"* byval align 4 %agg.tmp110, i32 386, i32 1, i32 0, i32 0)
          to label %invoke.cont113 unwind label %lpad111

invoke.cont113:                                   ; preds = %invoke.cont112
  invoke void @_ZN5boost9unit_test17lazy_ostream_implIRKNS0_13basic_cstringIKcEEED1Ev(%"class.boost::unit_test::lazy_ostream_impl.0"* %ref.tmp103)
          to label %invoke.cont115 unwind label %lpad104

invoke.cont115:                                   ; preds = %invoke.cont113
  invoke void @_ZN5boost10test_tools16predicate_resultD1Ev(%"class.boost::test_tools::predicate_result"* %ref.tmp91)
          to label %invoke.cont118 unwind label %lpad101

invoke.cont118:                                   ; preds = %invoke.cont115
  call void @_ZNSt6localeD1Ev(%"class.std::locale"* %ref.tmp93) nounwind
  call void @_ZNSt6localeD1Ev(%"class.std::locale"* %temp.lvalue92) nounwind
  br label %do.cond123

do.cond123:                                       ; preds = %invoke.cont118
  %55 = load i8* @_ZN5boost10test_tools12_GLOBAL__N_110dummy_condE, align 1
  %tobool124 = trunc i8 %55 to i1
  br i1 %tobool124, label %do.body84, label %do.end125

do.end125:                                        ; preds = %do.cond123
  %56 = bitcast %"class.std::basic_stringstream"* %ss to i8**
  %vtable126 = load i8** %56
  %vbase.offset.ptr127 = getelementptr i8* %vtable126, i64 -12
  %57 = bitcast i8* %vbase.offset.ptr127 to i32*
  %vbase.offset128 = load i32* %57
  %58 = bitcast %"class.std::basic_stringstream"* %ss to i8*
  %add.ptr129 = getelementptr inbounds i8* %58, i32 %vbase.offset128
  %59 = bitcast i8* %add.ptr129 to %"class.std::basic_ios"*
  %call131 = invoke %"class.std::locale"* @_ZNSt6locale7classicEv()
          to label %invoke.cont130 unwind label %lpad86

invoke.cont130:                                   ; preds = %do.end125
  invoke void @_ZNSt9basic_iosIcSt11char_traitsIcEE5imbueERKSt6locale(%"class.std::locale"* sret %agg.tmp.ensured, %"class.std::basic_ios"* %59, %"class.std::locale"* %call131)
          to label %invoke.cont132 unwind label %lpad86

invoke.cont132:                                   ; preds = %invoke.cont130
  call void @_ZNSt6localeD1Ev(%"class.std::locale"* %agg.tmp.ensured) nounwind
  br label %do.body133

do.body133:                                       ; preds = %do.cond170, %invoke.cont132
  %60 = load %"class.boost::unit_test::unit_test_log_t"** @_ZN5boost9unit_test12_GLOBAL__N_113unit_test_logE, align 4
  invoke void @_ZN5boost9unit_test13basic_cstringIKcEC1EPS2_j(%"class.boost::unit_test::basic_cstring"* %agg.tmp134, i8* getelementptr inbounds ([24 x i8]* @.str, i32 0, i32 0), i32 23)
          to label %invoke.cont135 unwind label %lpad86

invoke.cont135:                                   ; preds = %do.body133
  invoke void @_ZN5boost9unit_test13basic_cstringIKcEC1Ev(%"class.boost::unit_test::basic_cstring"* %agg.tmp136)
          to label %invoke.cont137 unwind label %lpad86

invoke.cont137:                                   ; preds = %invoke.cont135
  invoke void @_ZN5boost9unit_test15unit_test_log_t14set_checkpointENS0_13basic_cstringIKcEEjS4_(%"class.boost::unit_test::unit_test_log_t"* %60, %"class.boost::unit_test::basic_cstring"* byval align 4 %agg.tmp134, i32 389, %"class.boost::unit_test::basic_cstring"* byval align 4 %agg.tmp136)
          to label %invoke.cont138 unwind label %lpad86

invoke.cont138:                                   ; preds = %invoke.cont137
  %call141 = invoke %"class.std::locale"* @_ZNSt6locale7classicEv()
          to label %invoke.cont140 unwind label %lpad86

invoke.cont140:                                   ; preds = %invoke.cont138
  %61 = bitcast %"class.std::basic_stringstream"* %ss to i8**
  %vtable143 = load i8** %61
  %vbase.offset.ptr144 = getelementptr i8* %vtable143, i64 -12
  %62 = bitcast i8* %vbase.offset.ptr144 to i32*
  %vbase.offset145 = load i32* %62
  %63 = bitcast %"class.std::basic_stringstream"* %ss to i8*
  %add.ptr146 = getelementptr inbounds i8* %63, i32 %vbase.offset145
  %64 = bitcast i8* %add.ptr146 to %"class.std::ios_base"*
  invoke void @_ZNKSt8ios_base6getlocEv(%"class.std::locale"* sret %ref.tmp142, %"class.std::ios_base"* %64)
          to label %invoke.cont147 unwind label %lpad86

invoke.cont147:                                   ; preds = %invoke.cont140
  %call148 = call zeroext i1 @_ZNKSt6localeeqERKS_(%"class.std::locale"* %call141, %"class.std::locale"* %ref.tmp142) nounwind
  invoke void @_ZN5boost10test_tools16predicate_resultC1Eb(%"class.boost::test_tools::predicate_result"* %ref.tmp139, i1 zeroext %call148)
          to label %invoke.cont150 unwind label %lpad149

invoke.cont150:                                   ; preds = %invoke.cont147
  %call154 = invoke %"class.boost::unit_test::lazy_ostream"* @_ZN5boost9unit_test12lazy_ostream8instanceEv()
          to label %invoke.cont153 unwind label %lpad152

invoke.cont153:                                   ; preds = %invoke.cont150
  invoke void @_ZN5boost9unit_test13basic_cstringIKcEC1EPS2_j(%"class.boost::unit_test::basic_cstring"* %ref.tmp155, i8* getelementptr inbounds ([33 x i8]* @.str50, i32 0, i32 0), i32 32)
          to label %invoke.cont156 unwind label %lpad152

invoke.cont156:                                   ; preds = %invoke.cont153
  invoke void @_ZN5boost9unit_testlsINS0_13basic_cstringIKcEEEENS0_17lazy_ostream_implIRKT_EERKNS0_12lazy_ostreamES8_(%"class.boost::unit_test::lazy_ostream_impl.0"* sret %ref.tmp151, %"class.boost::unit_test::lazy_ostream"* %call154, %"class.boost::unit_test::basic_cstring"* %ref.tmp155)
          to label %invoke.cont157 unwind label %lpad152

invoke.cont157:                                   ; preds = %invoke.cont156
  %65 = bitcast %"class.boost::unit_test::lazy_ostream_impl.0"* %ref.tmp151 to %"class.boost::unit_test::lazy_ostream"*
  invoke void @_ZN5boost9unit_test13basic_cstringIKcEC1EPS2_j(%"class.boost::unit_test::basic_cstring"* %agg.tmp158, i8* getelementptr inbounds ([24 x i8]* @.str, i32 0, i32 0), i32 23)
          to label %invoke.cont160 unwind label %lpad159

invoke.cont160:                                   ; preds = %invoke.cont157
  %call162 = invoke zeroext i1 (%"class.boost::test_tools::predicate_result"*, %"class.boost::unit_test::lazy_ostream"*, %"class.boost::unit_test::basic_cstring"*, i32, i32, i32, i32, ...)* @_ZN5boost10test_tools9tt_detail10check_implERKNS0_16predicate_resultERKNS_9unit_test12lazy_ostreamENS5_13basic_cstringIKcEEjNS1_10tool_levelENS1_10check_typeEjz(%"class.boost::test_tools::predicate_result"* %ref.tmp139, %"class.boost::unit_test::lazy_ostream"* %65, %"class.boost::unit_test::basic_cstring"* byval align 4 %agg.tmp158, i32 389, i32 1, i32 0, i32 0)
          to label %invoke.cont161 unwind label %lpad159

invoke.cont161:                                   ; preds = %invoke.cont160
  invoke void @_ZN5boost9unit_test17lazy_ostream_implIRKNS0_13basic_cstringIKcEEED1Ev(%"class.boost::unit_test::lazy_ostream_impl.0"* %ref.tmp151)
          to label %invoke.cont163 unwind label %lpad152

invoke.cont163:                                   ; preds = %invoke.cont161
  invoke void @_ZN5boost10test_tools16predicate_resultD1Ev(%"class.boost::test_tools::predicate_result"* %ref.tmp139)
          to label %invoke.cont166 unwind label %lpad149

invoke.cont166:                                   ; preds = %invoke.cont163
  call void @_ZNSt6localeD1Ev(%"class.std::locale"* %ref.tmp142) nounwind
  br label %do.cond170

do.cond170:                                       ; preds = %invoke.cont166
  %66 = load i8* @_ZN5boost10test_tools12_GLOBAL__N_110dummy_condE, align 1
  %tobool171 = trunc i8 %66 to i1
  br i1 %tobool171, label %do.body133, label %do.end172

do.end172:                                        ; preds = %do.cond170
  invoke void @_ZN5boost2io22basic_ios_locale_saverIcSt11char_traitsIcEED1Ev(%"class.boost::io::basic_ios_locale_saver"* %ils)
          to label %invoke.cont173 unwind label %lpad

invoke.cont173:                                   ; preds = %do.end172
  br label %do.body176

do.body176:                                       ; preds = %do.cond214, %invoke.cont173
  %67 = load %"class.boost::unit_test::unit_test_log_t"** @_ZN5boost9unit_test12_GLOBAL__N_113unit_test_logE, align 4
  invoke void @_ZN5boost9unit_test13basic_cstringIKcEC1EPS2_j(%"class.boost::unit_test::basic_cstring"* %agg.tmp177, i8* getelementptr inbounds ([24 x i8]* @.str, i32 0, i32 0), i32 23)
          to label %invoke.cont178 unwind label %lpad

invoke.cont178:                                   ; preds = %do.body176
  invoke void @_ZN5boost9unit_test13basic_cstringIKcEC1Ev(%"class.boost::unit_test::basic_cstring"* %agg.tmp179)
          to label %invoke.cont180 unwind label %lpad

invoke.cont180:                                   ; preds = %invoke.cont178
  invoke void @_ZN5boost9unit_test15unit_test_log_t14set_checkpointENS0_13basic_cstringIKcEEjS4_(%"class.boost::unit_test::unit_test_log_t"* %67, %"class.boost::unit_test::basic_cstring"* byval align 4 %agg.tmp177, i32 392, %"class.boost::unit_test::basic_cstring"* byval align 4 %agg.tmp179)
          to label %invoke.cont181 unwind label %lpad

invoke.cont181:                                   ; preds = %invoke.cont180
  call void @_ZNSt6localeC1Ev(%"class.std::locale"* %temp.lvalue183) nounwind
  %68 = bitcast %"class.std::basic_stringstream"* %ss to i8**
  %vtable185 = load i8** %68
  %vbase.offset.ptr186 = getelementptr i8* %vtable185, i64 -12
  %69 = bitcast i8* %vbase.offset.ptr186 to i32*
  %vbase.offset187 = load i32* %69
  %70 = bitcast %"class.std::basic_stringstream"* %ss to i8*
  %add.ptr188 = getelementptr inbounds i8* %70, i32 %vbase.offset187
  %71 = bitcast i8* %add.ptr188 to %"class.std::ios_base"*
  invoke void @_ZNKSt8ios_base6getlocEv(%"class.std::locale"* sret %ref.tmp184, %"class.std::ios_base"* %71)
          to label %invoke.cont190 unwind label %lpad189

invoke.cont190:                                   ; preds = %invoke.cont181
  %call191 = call zeroext i1 @_ZNKSt6localeeqERKS_(%"class.std::locale"* %temp.lvalue183, %"class.std::locale"* %ref.tmp184) nounwind
  invoke void @_ZN5boost10test_tools16predicate_resultC1Eb(%"class.boost::test_tools::predicate_result"* %ref.tmp182, i1 zeroext %call191)
          to label %invoke.cont193 unwind label %lpad192

invoke.cont193:                                   ; preds = %invoke.cont190
  %call197 = invoke %"class.boost::unit_test::lazy_ostream"* @_ZN5boost9unit_test12lazy_ostream8instanceEv()
          to label %invoke.cont196 unwind label %lpad195

invoke.cont196:                                   ; preds = %invoke.cont193
  invoke void @_ZN5boost9unit_test13basic_cstringIKcEC1EPS2_j(%"class.boost::unit_test::basic_cstring"* %ref.tmp198, i8* getelementptr inbounds ([24 x i8]* @.str48, i32 0, i32 0), i32 23)
          to label %invoke.cont199 unwind label %lpad195

invoke.cont199:                                   ; preds = %invoke.cont196
  invoke void @_ZN5boost9unit_testlsINS0_13basic_cstringIKcEEEENS0_17lazy_ostream_implIRKT_EERKNS0_12lazy_ostreamES8_(%"class.boost::unit_test::lazy_ostream_impl.0"* sret %ref.tmp194, %"class.boost::unit_test::lazy_ostream"* %call197, %"class.boost::unit_test::basic_cstring"* %ref.tmp198)
          to label %invoke.cont200 unwind label %lpad195

invoke.cont200:                                   ; preds = %invoke.cont199
  %72 = bitcast %"class.boost::unit_test::lazy_ostream_impl.0"* %ref.tmp194 to %"class.boost::unit_test::lazy_ostream"*
  invoke void @_ZN5boost9unit_test13basic_cstringIKcEC1EPS2_j(%"class.boost::unit_test::basic_cstring"* %agg.tmp201, i8* getelementptr inbounds ([24 x i8]* @.str, i32 0, i32 0), i32 23)
          to label %invoke.cont203 unwind label %lpad202

invoke.cont203:                                   ; preds = %invoke.cont200
  %call205 = invoke zeroext i1 (%"class.boost::test_tools::predicate_result"*, %"class.boost::unit_test::lazy_ostream"*, %"class.boost::unit_test::basic_cstring"*, i32, i32, i32, i32, ...)* @_ZN5boost10test_tools9tt_detail10check_implERKNS0_16predicate_resultERKNS_9unit_test12lazy_ostreamENS5_13basic_cstringIKcEEjNS1_10tool_levelENS1_10check_typeEjz(%"class.boost::test_tools::predicate_result"* %ref.tmp182, %"class.boost::unit_test::lazy_ostream"* %72, %"class.boost::unit_test::basic_cstring"* byval align 4 %agg.tmp201, i32 392, i32 1, i32 0, i32 0)
          to label %invoke.cont204 unwind label %lpad202

invoke.cont204:                                   ; preds = %invoke.cont203
  invoke void @_ZN5boost9unit_test17lazy_ostream_implIRKNS0_13basic_cstringIKcEEED1Ev(%"class.boost::unit_test::lazy_ostream_impl.0"* %ref.tmp194)
          to label %invoke.cont206 unwind label %lpad195

invoke.cont206:                                   ; preds = %invoke.cont204
  invoke void @_ZN5boost10test_tools16predicate_resultD1Ev(%"class.boost::test_tools::predicate_result"* %ref.tmp182)
          to label %invoke.cont209 unwind label %lpad192

invoke.cont209:                                   ; preds = %invoke.cont206
  call void @_ZNSt6localeD1Ev(%"class.std::locale"* %ref.tmp184) nounwind
  call void @_ZNSt6localeD1Ev(%"class.std::locale"* %temp.lvalue183) nounwind
  br label %do.cond214

do.cond214:                                       ; preds = %invoke.cont209
  %73 = load i8* @_ZN5boost10test_tools12_GLOBAL__N_110dummy_condE, align 1
  %tobool215 = trunc i8 %73 to i1
  br i1 %tobool215, label %do.body176, label %do.end216

do.end216:                                        ; preds = %do.cond214
  br label %do.body217

do.body217:                                       ; preds = %do.cond275, %do.end216
  %74 = load %"class.boost::unit_test::unit_test_log_t"** @_ZN5boost9unit_test12_GLOBAL__N_113unit_test_logE, align 4
  invoke void @_ZN5boost9unit_test13basic_cstringIKcEC1EPS2_j(%"class.boost::unit_test::basic_cstring"* %agg.tmp218, i8* getelementptr inbounds ([24 x i8]* @.str, i32 0, i32 0), i32 23)
          to label %invoke.cont219 unwind label %lpad

invoke.cont219:                                   ; preds = %do.body217
  invoke void @_ZN5boost9unit_test13basic_cstringIKcEC1Ev(%"class.boost::unit_test::basic_cstring"* %agg.tmp220)
          to label %invoke.cont221 unwind label %lpad

invoke.cont221:                                   ; preds = %invoke.cont219
  invoke void @_ZN5boost9unit_test15unit_test_log_t14set_checkpointENS0_13basic_cstringIKcEEjS4_(%"class.boost::unit_test::unit_test_log_t"* %74, %"class.boost::unit_test::basic_cstring"* byval align 4 %agg.tmp218, i32 395, %"class.boost::unit_test::basic_cstring"* byval align 4 %agg.tmp220)
          to label %invoke.cont222 unwind label %lpad

invoke.cont222:                                   ; preds = %invoke.cont221
  %75 = bitcast %"class.std::basic_stringstream"* %ss to i8**
  %vtable225 = load i8** %75
  %vbase.offset.ptr226 = getelementptr i8* %vtable225, i64 -12
  %76 = bitcast i8* %vbase.offset.ptr226 to i32*
  %vbase.offset227 = load i32* %76
  %77 = bitcast %"class.std::basic_stringstream"* %ss to i8*
  %add.ptr228 = getelementptr inbounds i8* %77, i32 %vbase.offset227
  %78 = bitcast i8* %add.ptr228 to %"class.std::ios_base"*
  store i1 false, i1* %cleanup.cond239
  invoke void @_ZNKSt8ios_base6getlocEv(%"class.std::locale"* sret %ref.tmp224, %"class.std::ios_base"* %78)
          to label %invoke.cont229 unwind label %lpad

invoke.cont229:                                   ; preds = %invoke.cont222
  %call230 = call zeroext i1 @_ZSt9has_facetISt8numpunctIcEEbRKSt6locale(%"class.std::locale"* %ref.tmp224) nounwind
  br i1 %call230, label %lor.rhs231, label %lor.end247

lor.rhs231:                                       ; preds = %invoke.cont229
  %79 = bitcast %"class.std::basic_stringstream"* %ss to i8**
  %vtable233 = load i8** %79
  %vbase.offset.ptr234 = getelementptr i8* %vtable233, i64 -12
  %80 = bitcast i8* %vbase.offset.ptr234 to i32*
  %vbase.offset235 = load i32* %80
  %81 = bitcast %"class.std::basic_stringstream"* %ss to i8*
  %add.ptr236 = getelementptr inbounds i8* %81, i32 %vbase.offset235
  %82 = bitcast i8* %add.ptr236 to %"class.std::ios_base"*
  invoke void @_ZNKSt8ios_base6getlocEv(%"class.std::locale"* sret %ref.tmp232, %"class.std::ios_base"* %82)
          to label %invoke.cont238 unwind label %lpad237

invoke.cont238:                                   ; preds = %lor.rhs231
  store i1 true, i1* %cleanup.cond239
  %call242 = invoke %"class.std::numpunct"* @_ZSt9use_facetISt8numpunctIcEERKT_RKSt6locale(%"class.std::locale"* %ref.tmp232)
          to label %invoke.cont241 unwind label %lpad240

invoke.cont241:                                   ; preds = %invoke.cont238
  %83 = icmp eq %"class.std::numpunct"* %call242, null
  br i1 %83, label %dynamic_cast.null244, label %dynamic_cast.notnull243

dynamic_cast.notnull243:                          ; preds = %invoke.cont241
  %84 = bitcast %"class.std::numpunct"* %call242 to i8*
  %85 = call i8* @__dynamic_cast(i8* %84, i8* bitcast (i8** @_ZTISt8numpunctIcE to i8*), i8* bitcast ({ i8*, i8*, i8* }* @_ZTI19backward_bool_names to i8*), i32 -1)
  %86 = bitcast i8* %85 to %class.backward_bool_names*
  br label %dynamic_cast.end245

lpad54:                                           ; preds = %invoke.cont63, %invoke.cont58, %invoke.cont55, %invoke.cont52
  %87 = landingpad { i8*, i32 } personality i8* bitcast (i32 (...)* @__gxx_personality_v0 to i8*)
          cleanup
  %88 = extractvalue { i8*, i32 } %87, 0
  store i8* %88, i8** %exn.slot
  %89 = extractvalue { i8*, i32 } %87, 1
  store i32 %89, i32* %ehselector.slot
  br label %ehcleanup69

lpad61:                                           ; preds = %invoke.cont62, %invoke.cont59
  %90 = landingpad { i8*, i32 } personality i8* bitcast (i32 (...)* @__gxx_personality_v0 to i8*)
          cleanup
  %91 = extractvalue { i8*, i32 } %90, 0
  store i8* %91, i8** %exn.slot
  %92 = extractvalue { i8*, i32 } %90, 1
  store i32 %92, i32* %ehselector.slot
  invoke void @_ZN5boost9unit_test17lazy_ostream_implIRKNS0_13basic_cstringIKcEEED1Ev(%"class.boost::unit_test::lazy_ostream_impl.0"* %ref.tmp53)
          to label %invoke.cont67 unwind label %terminate.lpad

invoke.cont67:                                    ; preds = %lpad61
  br label %ehcleanup69

ehcleanup69:                                      ; preds = %invoke.cont67, %lpad54
  invoke void @_ZN5boost10test_tools16predicate_resultD1Ev(%"class.boost::test_tools::predicate_result"* %ref.tmp34)
          to label %invoke.cont70 unwind label %terminate.lpad

invoke.cont70:                                    ; preds = %ehcleanup69
  br label %ehcleanup71

ehcleanup71:                                      ; preds = %invoke.cont70, %lpad49
  %cleanup.is_active72 = load i1* %cleanup.cond
  br i1 %cleanup.is_active72, label %cleanup.action73, label %cleanup.done74

cleanup.action73:                                 ; preds = %ehcleanup71
  call void @_ZNSt6localeD1Ev(%"class.std::locale"* %ref.tmp42) nounwind
  br label %cleanup.done74

cleanup.done74:                                   ; preds = %cleanup.action73, %ehcleanup71
  br label %ehcleanup75

ehcleanup75:                                      ; preds = %cleanup.done74, %lpad47
  call void @_ZNSt6localeD1Ev(%"class.std::locale"* %ref.tmp35) nounwind
  br label %ehcleanup609

lpad86:                                           ; preds = %invoke.cont140, %invoke.cont138, %invoke.cont137, %invoke.cont135, %do.body133, %invoke.cont130, %do.end125, %invoke.cont89, %invoke.cont87, %do.body84
  %93 = landingpad { i8*, i32 } personality i8* bitcast (i32 (...)* @__gxx_personality_v0 to i8*)
          cleanup
  %94 = extractvalue { i8*, i32 } %93, 0
  store i8* %94, i8** %exn.slot
  %95 = extractvalue { i8*, i32 } %93, 1
  store i32 %95, i32* %ehselector.slot
  br label %ehcleanup174

lpad98:                                           ; preds = %invoke.cont90
  %96 = landingpad { i8*, i32 } personality i8* bitcast (i32 (...)* @__gxx_personality_v0 to i8*)
          cleanup
  %97 = extractvalue { i8*, i32 } %96, 0
  store i8* %97, i8** %exn.slot
  %98 = extractvalue { i8*, i32 } %96, 1
  store i32 %98, i32* %ehselector.slot
  br label %ehcleanup122

lpad101:                                          ; preds = %invoke.cont115, %invoke.cont99
  %99 = landingpad { i8*, i32 } personality i8* bitcast (i32 (...)* @__gxx_personality_v0 to i8*)
          cleanup
  %100 = extractvalue { i8*, i32 } %99, 0
  store i8* %100, i8** %exn.slot
  %101 = extractvalue { i8*, i32 } %99, 1
  store i32 %101, i32* %ehselector.slot
  br label %ehcleanup121

lpad104:                                          ; preds = %invoke.cont113, %invoke.cont108, %invoke.cont105, %invoke.cont102
  %102 = landingpad { i8*, i32 } personality i8* bitcast (i32 (...)* @__gxx_personality_v0 to i8*)
          cleanup
  %103 = extractvalue { i8*, i32 } %102, 0
  store i8* %103, i8** %exn.slot
  %104 = extractvalue { i8*, i32 } %102, 1
  store i32 %104, i32* %ehselector.slot
  br label %ehcleanup119

lpad111:                                          ; preds = %invoke.cont112, %invoke.cont109
  %105 = landingpad { i8*, i32 } personality i8* bitcast (i32 (...)* @__gxx_personality_v0 to i8*)
          cleanup
  %106 = extractvalue { i8*, i32 } %105, 0
  store i8* %106, i8** %exn.slot
  %107 = extractvalue { i8*, i32 } %105, 1
  store i32 %107, i32* %ehselector.slot
  invoke void @_ZN5boost9unit_test17lazy_ostream_implIRKNS0_13basic_cstringIKcEEED1Ev(%"class.boost::unit_test::lazy_ostream_impl.0"* %ref.tmp103)
          to label %invoke.cont117 unwind label %terminate.lpad

invoke.cont117:                                   ; preds = %lpad111
  br label %ehcleanup119

ehcleanup119:                                     ; preds = %invoke.cont117, %lpad104
  invoke void @_ZN5boost10test_tools16predicate_resultD1Ev(%"class.boost::test_tools::predicate_result"* %ref.tmp91)
          to label %invoke.cont120 unwind label %terminate.lpad

invoke.cont120:                                   ; preds = %ehcleanup119
  br label %ehcleanup121

ehcleanup121:                                     ; preds = %invoke.cont120, %lpad101
  call void @_ZNSt6localeD1Ev(%"class.std::locale"* %ref.tmp93) nounwind
  br label %ehcleanup122

ehcleanup122:                                     ; preds = %ehcleanup121, %lpad98
  call void @_ZNSt6localeD1Ev(%"class.std::locale"* %temp.lvalue92) nounwind
  br label %ehcleanup174

lpad149:                                          ; preds = %invoke.cont163, %invoke.cont147
  %108 = landingpad { i8*, i32 } personality i8* bitcast (i32 (...)* @__gxx_personality_v0 to i8*)
          cleanup
  %109 = extractvalue { i8*, i32 } %108, 0
  store i8* %109, i8** %exn.slot
  %110 = extractvalue { i8*, i32 } %108, 1
  store i32 %110, i32* %ehselector.slot
  br label %ehcleanup169

lpad152:                                          ; preds = %invoke.cont161, %invoke.cont156, %invoke.cont153, %invoke.cont150
  %111 = landingpad { i8*, i32 } personality i8* bitcast (i32 (...)* @__gxx_personality_v0 to i8*)
          cleanup
  %112 = extractvalue { i8*, i32 } %111, 0
  store i8* %112, i8** %exn.slot
  %113 = extractvalue { i8*, i32 } %111, 1
  store i32 %113, i32* %ehselector.slot
  br label %ehcleanup167

lpad159:                                          ; preds = %invoke.cont160, %invoke.cont157
  %114 = landingpad { i8*, i32 } personality i8* bitcast (i32 (...)* @__gxx_personality_v0 to i8*)
          cleanup
  %115 = extractvalue { i8*, i32 } %114, 0
  store i8* %115, i8** %exn.slot
  %116 = extractvalue { i8*, i32 } %114, 1
  store i32 %116, i32* %ehselector.slot
  invoke void @_ZN5boost9unit_test17lazy_ostream_implIRKNS0_13basic_cstringIKcEEED1Ev(%"class.boost::unit_test::lazy_ostream_impl.0"* %ref.tmp151)
          to label %invoke.cont165 unwind label %terminate.lpad

invoke.cont165:                                   ; preds = %lpad159
  br label %ehcleanup167

ehcleanup167:                                     ; preds = %invoke.cont165, %lpad152
  invoke void @_ZN5boost10test_tools16predicate_resultD1Ev(%"class.boost::test_tools::predicate_result"* %ref.tmp139)
          to label %invoke.cont168 unwind label %terminate.lpad

invoke.cont168:                                   ; preds = %ehcleanup167
  br label %ehcleanup169

ehcleanup169:                                     ; preds = %invoke.cont168, %lpad149
  call void @_ZNSt6localeD1Ev(%"class.std::locale"* %ref.tmp142) nounwind
  br label %ehcleanup174

ehcleanup174:                                     ; preds = %ehcleanup169, %ehcleanup122, %lpad86
  invoke void @_ZN5boost2io22basic_ios_locale_saverIcSt11char_traitsIcEED1Ev(%"class.boost::io::basic_ios_locale_saver"* %ils)
          to label %invoke.cont175 unwind label %terminate.lpad

invoke.cont175:                                   ; preds = %ehcleanup174
  br label %ehcleanup609

lpad189:                                          ; preds = %invoke.cont181
  %117 = landingpad { i8*, i32 } personality i8* bitcast (i32 (...)* @__gxx_personality_v0 to i8*)
          cleanup
  %118 = extractvalue { i8*, i32 } %117, 0
  store i8* %118, i8** %exn.slot
  %119 = extractvalue { i8*, i32 } %117, 1
  store i32 %119, i32* %ehselector.slot
  br label %ehcleanup213

lpad192:                                          ; preds = %invoke.cont206, %invoke.cont190
  %120 = landingpad { i8*, i32 } personality i8* bitcast (i32 (...)* @__gxx_personality_v0 to i8*)
          cleanup
  %121 = extractvalue { i8*, i32 } %120, 0
  store i8* %121, i8** %exn.slot
  %122 = extractvalue { i8*, i32 } %120, 1
  store i32 %122, i32* %ehselector.slot
  br label %ehcleanup212

lpad195:                                          ; preds = %invoke.cont204, %invoke.cont199, %invoke.cont196, %invoke.cont193
  %123 = landingpad { i8*, i32 } personality i8* bitcast (i32 (...)* @__gxx_personality_v0 to i8*)
          cleanup
  %124 = extractvalue { i8*, i32 } %123, 0
  store i8* %124, i8** %exn.slot
  %125 = extractvalue { i8*, i32 } %123, 1
  store i32 %125, i32* %ehselector.slot
  br label %ehcleanup210

lpad202:                                          ; preds = %invoke.cont203, %invoke.cont200
  %126 = landingpad { i8*, i32 } personality i8* bitcast (i32 (...)* @__gxx_personality_v0 to i8*)
          cleanup
  %127 = extractvalue { i8*, i32 } %126, 0
  store i8* %127, i8** %exn.slot
  %128 = extractvalue { i8*, i32 } %126, 1
  store i32 %128, i32* %ehselector.slot
  invoke void @_ZN5boost9unit_test17lazy_ostream_implIRKNS0_13basic_cstringIKcEEED1Ev(%"class.boost::unit_test::lazy_ostream_impl.0"* %ref.tmp194)
          to label %invoke.cont208 unwind label %terminate.lpad

invoke.cont208:                                   ; preds = %lpad202
  br label %ehcleanup210

ehcleanup210:                                     ; preds = %invoke.cont208, %lpad195
  invoke void @_ZN5boost10test_tools16predicate_resultD1Ev(%"class.boost::test_tools::predicate_result"* %ref.tmp182)
          to label %invoke.cont211 unwind label %terminate.lpad

invoke.cont211:                                   ; preds = %ehcleanup210
  br label %ehcleanup212

ehcleanup212:                                     ; preds = %invoke.cont211, %lpad192
  call void @_ZNSt6localeD1Ev(%"class.std::locale"* %ref.tmp184) nounwind
  br label %ehcleanup213

ehcleanup213:                                     ; preds = %ehcleanup212, %lpad189
  call void @_ZNSt6localeD1Ev(%"class.std::locale"* %temp.lvalue183) nounwind
  br label %ehcleanup609

lpad237:                                          ; preds = %lor.rhs231
  %129 = landingpad { i8*, i32 } personality i8* bitcast (i32 (...)* @__gxx_personality_v0 to i8*)
          cleanup
  %130 = extractvalue { i8*, i32 } %129, 0
  store i8* %130, i8** %exn.slot
  %131 = extractvalue { i8*, i32 } %129, 1
  store i32 %131, i32* %ehselector.slot
  br label %ehcleanup274

lpad240:                                          ; preds = %invoke.cont261, %lor.end247, %invoke.cont238
  %132 = landingpad { i8*, i32 } personality i8* bitcast (i32 (...)* @__gxx_personality_v0 to i8*)
          cleanup
  %133 = extractvalue { i8*, i32 } %132, 0
  store i8* %133, i8** %exn.slot
  %134 = extractvalue { i8*, i32 } %132, 1
  store i32 %134, i32* %ehselector.slot
  br label %ehcleanup270

dynamic_cast.null244:                             ; preds = %invoke.cont241
  br label %dynamic_cast.end245

dynamic_cast.end245:                              ; preds = %dynamic_cast.null244, %dynamic_cast.notnull243
  %135 = phi %class.backward_bool_names* [ %86, %dynamic_cast.notnull243 ], [ null, %dynamic_cast.null244 ]
  %cmp246 = icmp eq %class.backward_bool_names* null, %135
  br label %lor.end247

lor.end247:                                       ; preds = %dynamic_cast.end245, %invoke.cont229
  %136 = phi i1 [ true, %invoke.cont229 ], [ %cmp246, %dynamic_cast.end245 ]
  invoke void @_ZN5boost10test_tools16predicate_resultC1Eb(%"class.boost::test_tools::predicate_result"* %ref.tmp223, i1 zeroext %136)
          to label %invoke.cont248 unwind label %lpad240

invoke.cont248:                                   ; preds = %lor.end247
  %call252 = invoke %"class.boost::unit_test::lazy_ostream"* @_ZN5boost9unit_test12lazy_ostream8instanceEv()
          to label %invoke.cont251 unwind label %lpad250

invoke.cont251:                                   ; preds = %invoke.cont248
  invoke void @_ZN5boost9unit_test13basic_cstringIKcEC1EPS2_j(%"class.boost::unit_test::basic_cstring"* %ref.tmp253, i8* getelementptr inbounds ([128 x i8]* @.str49, i32 0, i32 0), i32 127)
          to label %invoke.cont254 unwind label %lpad250

invoke.cont254:                                   ; preds = %invoke.cont251
  invoke void @_ZN5boost9unit_testlsINS0_13basic_cstringIKcEEEENS0_17lazy_ostream_implIRKT_EERKNS0_12lazy_ostreamES8_(%"class.boost::unit_test::lazy_ostream_impl.0"* sret %ref.tmp249, %"class.boost::unit_test::lazy_ostream"* %call252, %"class.boost::unit_test::basic_cstring"* %ref.tmp253)
          to label %invoke.cont255 unwind label %lpad250

invoke.cont255:                                   ; preds = %invoke.cont254
  %137 = bitcast %"class.boost::unit_test::lazy_ostream_impl.0"* %ref.tmp249 to %"class.boost::unit_test::lazy_ostream"*
  invoke void @_ZN5boost9unit_test13basic_cstringIKcEC1EPS2_j(%"class.boost::unit_test::basic_cstring"* %agg.tmp256, i8* getelementptr inbounds ([24 x i8]* @.str, i32 0, i32 0), i32 23)
          to label %invoke.cont258 unwind label %lpad257

invoke.cont258:                                   ; preds = %invoke.cont255
  %call260 = invoke zeroext i1 (%"class.boost::test_tools::predicate_result"*, %"class.boost::unit_test::lazy_ostream"*, %"class.boost::unit_test::basic_cstring"*, i32, i32, i32, i32, ...)* @_ZN5boost10test_tools9tt_detail10check_implERKNS0_16predicate_resultERKNS_9unit_test12lazy_ostreamENS5_13basic_cstringIKcEEjNS1_10tool_levelENS1_10check_typeEjz(%"class.boost::test_tools::predicate_result"* %ref.tmp223, %"class.boost::unit_test::lazy_ostream"* %137, %"class.boost::unit_test::basic_cstring"* byval align 4 %agg.tmp256, i32 395, i32 1, i32 0, i32 0)
          to label %invoke.cont259 unwind label %lpad257

invoke.cont259:                                   ; preds = %invoke.cont258
  invoke void @_ZN5boost9unit_test17lazy_ostream_implIRKNS0_13basic_cstringIKcEEED1Ev(%"class.boost::unit_test::lazy_ostream_impl.0"* %ref.tmp249)
          to label %invoke.cont261 unwind label %lpad250

invoke.cont261:                                   ; preds = %invoke.cont259
  invoke void @_ZN5boost10test_tools16predicate_resultD1Ev(%"class.boost::test_tools::predicate_result"* %ref.tmp223)
          to label %invoke.cont264 unwind label %lpad240

invoke.cont264:                                   ; preds = %invoke.cont261
  %cleanup.is_active267 = load i1* %cleanup.cond239
  br i1 %cleanup.is_active267, label %cleanup.action268, label %cleanup.done269

cleanup.action268:                                ; preds = %invoke.cont264
  call void @_ZNSt6localeD1Ev(%"class.std::locale"* %ref.tmp232) nounwind
  br label %cleanup.done269

cleanup.done269:                                  ; preds = %cleanup.action268, %invoke.cont264
  call void @_ZNSt6localeD1Ev(%"class.std::locale"* %ref.tmp224) nounwind
  br label %do.cond275

do.cond275:                                       ; preds = %cleanup.done269
  %138 = load i8* @_ZN5boost10test_tools12_GLOBAL__N_110dummy_condE, align 1
  %tobool276 = trunc i8 %138 to i1
  br i1 %tobool276, label %do.body217, label %do.end277

do.end277:                                        ; preds = %do.cond275
  %139 = bitcast %"class.std::basic_stringstream"* %ss to i8**
  %vtable279 = load i8** %139
  %vbase.offset.ptr280 = getelementptr i8* %vtable279, i64 -12
  %140 = bitcast i8* %vbase.offset.ptr280 to i32*
  %vbase.offset281 = load i32* %140
  %141 = bitcast %"class.std::basic_stringstream"* %ss to i8*
  %add.ptr282 = getelementptr inbounds i8* %141, i32 %vbase.offset281
  %142 = bitcast i8* %add.ptr282 to %"class.std::basic_ios"*
  %call284 = invoke %"class.std::locale"* @_ZNSt6locale7classicEv()
          to label %invoke.cont283 unwind label %lpad

invoke.cont283:                                   ; preds = %do.end277
  invoke void @_ZN5boost2io22basic_ios_locale_saverIcSt11char_traitsIcEEC1ERSt9basic_iosIcS3_ERKSt6locale(%"class.boost::io::basic_ios_locale_saver"* %ils278, %"class.std::basic_ios"* %142, %"class.std::locale"* %call284)
          to label %invoke.cont285 unwind label %lpad

invoke.cont285:                                   ; preds = %invoke.cont283
  br label %do.body286

do.body286:                                       ; preds = %do.cond324, %invoke.cont285
  %143 = load %"class.boost::unit_test::unit_test_log_t"** @_ZN5boost9unit_test12_GLOBAL__N_113unit_test_logE, align 4
  invoke void @_ZN5boost9unit_test13basic_cstringIKcEC1EPS2_j(%"class.boost::unit_test::basic_cstring"* %agg.tmp287, i8* getelementptr inbounds ([24 x i8]* @.str, i32 0, i32 0), i32 23)
          to label %invoke.cont289 unwind label %lpad288

invoke.cont289:                                   ; preds = %do.body286
  invoke void @_ZN5boost9unit_test13basic_cstringIKcEC1Ev(%"class.boost::unit_test::basic_cstring"* %agg.tmp290)
          to label %invoke.cont291 unwind label %lpad288

invoke.cont291:                                   ; preds = %invoke.cont289
  invoke void @_ZN5boost9unit_test15unit_test_log_t14set_checkpointENS0_13basic_cstringIKcEEjS4_(%"class.boost::unit_test::unit_test_log_t"* %143, %"class.boost::unit_test::basic_cstring"* byval align 4 %agg.tmp287, i32 400, %"class.boost::unit_test::basic_cstring"* byval align 4 %agg.tmp290)
          to label %invoke.cont292 unwind label %lpad288

invoke.cont292:                                   ; preds = %invoke.cont291
  %call295 = invoke %"class.std::locale"* @_ZNSt6locale7classicEv()
          to label %invoke.cont294 unwind label %lpad288

invoke.cont294:                                   ; preds = %invoke.cont292
  %144 = bitcast %"class.std::basic_stringstream"* %ss to i8**
  %vtable297 = load i8** %144
  %vbase.offset.ptr298 = getelementptr i8* %vtable297, i64 -12
  %145 = bitcast i8* %vbase.offset.ptr298 to i32*
  %vbase.offset299 = load i32* %145
  %146 = bitcast %"class.std::basic_stringstream"* %ss to i8*
  %add.ptr300 = getelementptr inbounds i8* %146, i32 %vbase.offset299
  %147 = bitcast i8* %add.ptr300 to %"class.std::ios_base"*
  invoke void @_ZNKSt8ios_base6getlocEv(%"class.std::locale"* sret %ref.tmp296, %"class.std::ios_base"* %147)
          to label %invoke.cont301 unwind label %lpad288

invoke.cont301:                                   ; preds = %invoke.cont294
  %call302 = call zeroext i1 @_ZNKSt6localeeqERKS_(%"class.std::locale"* %call295, %"class.std::locale"* %ref.tmp296) nounwind
  invoke void @_ZN5boost10test_tools16predicate_resultC1Eb(%"class.boost::test_tools::predicate_result"* %ref.tmp293, i1 zeroext %call302)
          to label %invoke.cont304 unwind label %lpad303

invoke.cont304:                                   ; preds = %invoke.cont301
  %call308 = invoke %"class.boost::unit_test::lazy_ostream"* @_ZN5boost9unit_test12lazy_ostream8instanceEv()
          to label %invoke.cont307 unwind label %lpad306

invoke.cont307:                                   ; preds = %invoke.cont304
  invoke void @_ZN5boost9unit_test13basic_cstringIKcEC1EPS2_j(%"class.boost::unit_test::basic_cstring"* %ref.tmp309, i8* getelementptr inbounds ([33 x i8]* @.str50, i32 0, i32 0), i32 32)
          to label %invoke.cont310 unwind label %lpad306

invoke.cont310:                                   ; preds = %invoke.cont307
  invoke void @_ZN5boost9unit_testlsINS0_13basic_cstringIKcEEEENS0_17lazy_ostream_implIRKT_EERKNS0_12lazy_ostreamES8_(%"class.boost::unit_test::lazy_ostream_impl.0"* sret %ref.tmp305, %"class.boost::unit_test::lazy_ostream"* %call308, %"class.boost::unit_test::basic_cstring"* %ref.tmp309)
          to label %invoke.cont311 unwind label %lpad306

invoke.cont311:                                   ; preds = %invoke.cont310
  %148 = bitcast %"class.boost::unit_test::lazy_ostream_impl.0"* %ref.tmp305 to %"class.boost::unit_test::lazy_ostream"*
  invoke void @_ZN5boost9unit_test13basic_cstringIKcEC1EPS2_j(%"class.boost::unit_test::basic_cstring"* %agg.tmp312, i8* getelementptr inbounds ([24 x i8]* @.str, i32 0, i32 0), i32 23)
          to label %invoke.cont314 unwind label %lpad313

invoke.cont314:                                   ; preds = %invoke.cont311
  %call316 = invoke zeroext i1 (%"class.boost::test_tools::predicate_result"*, %"class.boost::unit_test::lazy_ostream"*, %"class.boost::unit_test::basic_cstring"*, i32, i32, i32, i32, ...)* @_ZN5boost10test_tools9tt_detail10check_implERKNS0_16predicate_resultERKNS_9unit_test12lazy_ostreamENS5_13basic_cstringIKcEEjNS1_10tool_levelENS1_10check_typeEjz(%"class.boost::test_tools::predicate_result"* %ref.tmp293, %"class.boost::unit_test::lazy_ostream"* %148, %"class.boost::unit_test::basic_cstring"* byval align 4 %agg.tmp312, i32 400, i32 1, i32 0, i32 0)
          to label %invoke.cont315 unwind label %lpad313

invoke.cont315:                                   ; preds = %invoke.cont314
  invoke void @_ZN5boost9unit_test17lazy_ostream_implIRKNS0_13basic_cstringIKcEEED1Ev(%"class.boost::unit_test::lazy_ostream_impl.0"* %ref.tmp305)
          to label %invoke.cont317 unwind label %lpad306

invoke.cont317:                                   ; preds = %invoke.cont315
  invoke void @_ZN5boost10test_tools16predicate_resultD1Ev(%"class.boost::test_tools::predicate_result"* %ref.tmp293)
          to label %invoke.cont320 unwind label %lpad303

invoke.cont320:                                   ; preds = %invoke.cont317
  call void @_ZNSt6localeD1Ev(%"class.std::locale"* %ref.tmp296) nounwind
  br label %do.cond324

do.cond324:                                       ; preds = %invoke.cont320
  %149 = load i8* @_ZN5boost10test_tools12_GLOBAL__N_110dummy_condE, align 1
  %tobool325 = trunc i8 %149 to i1
  br i1 %tobool325, label %do.body286, label %do.end326

do.end326:                                        ; preds = %do.cond324
  br label %do.body327

do.body327:                                       ; preds = %do.cond385, %do.end326
  %150 = load %"class.boost::unit_test::unit_test_log_t"** @_ZN5boost9unit_test12_GLOBAL__N_113unit_test_logE, align 4
  invoke void @_ZN5boost9unit_test13basic_cstringIKcEC1EPS2_j(%"class.boost::unit_test::basic_cstring"* %agg.tmp328, i8* getelementptr inbounds ([24 x i8]* @.str, i32 0, i32 0), i32 23)
          to label %invoke.cont329 unwind label %lpad288

invoke.cont329:                                   ; preds = %do.body327
  invoke void @_ZN5boost9unit_test13basic_cstringIKcEC1Ev(%"class.boost::unit_test::basic_cstring"* %agg.tmp330)
          to label %invoke.cont331 unwind label %lpad288

invoke.cont331:                                   ; preds = %invoke.cont329
  invoke void @_ZN5boost9unit_test15unit_test_log_t14set_checkpointENS0_13basic_cstringIKcEEjS4_(%"class.boost::unit_test::unit_test_log_t"* %150, %"class.boost::unit_test::basic_cstring"* byval align 4 %agg.tmp328, i32 403, %"class.boost::unit_test::basic_cstring"* byval align 4 %agg.tmp330)
          to label %invoke.cont332 unwind label %lpad288

invoke.cont332:                                   ; preds = %invoke.cont331
  %151 = bitcast %"class.std::basic_stringstream"* %ss to i8**
  %vtable335 = load i8** %151
  %vbase.offset.ptr336 = getelementptr i8* %vtable335, i64 -12
  %152 = bitcast i8* %vbase.offset.ptr336 to i32*
  %vbase.offset337 = load i32* %152
  %153 = bitcast %"class.std::basic_stringstream"* %ss to i8*
  %add.ptr338 = getelementptr inbounds i8* %153, i32 %vbase.offset337
  %154 = bitcast i8* %add.ptr338 to %"class.std::ios_base"*
  store i1 false, i1* %cleanup.cond349
  invoke void @_ZNKSt8ios_base6getlocEv(%"class.std::locale"* sret %ref.tmp334, %"class.std::ios_base"* %154)
          to label %invoke.cont339 unwind label %lpad288

invoke.cont339:                                   ; preds = %invoke.cont332
  %call340 = call zeroext i1 @_ZSt9has_facetISt8numpunctIcEEbRKSt6locale(%"class.std::locale"* %ref.tmp334) nounwind
  br i1 %call340, label %lor.rhs341, label %lor.end357

lor.rhs341:                                       ; preds = %invoke.cont339
  %155 = bitcast %"class.std::basic_stringstream"* %ss to i8**
  %vtable343 = load i8** %155
  %vbase.offset.ptr344 = getelementptr i8* %vtable343, i64 -12
  %156 = bitcast i8* %vbase.offset.ptr344 to i32*
  %vbase.offset345 = load i32* %156
  %157 = bitcast %"class.std::basic_stringstream"* %ss to i8*
  %add.ptr346 = getelementptr inbounds i8* %157, i32 %vbase.offset345
  %158 = bitcast i8* %add.ptr346 to %"class.std::ios_base"*
  invoke void @_ZNKSt8ios_base6getlocEv(%"class.std::locale"* sret %ref.tmp342, %"class.std::ios_base"* %158)
          to label %invoke.cont348 unwind label %lpad347

invoke.cont348:                                   ; preds = %lor.rhs341
  store i1 true, i1* %cleanup.cond349
  %call352 = invoke %"class.std::numpunct"* @_ZSt9use_facetISt8numpunctIcEERKT_RKSt6locale(%"class.std::locale"* %ref.tmp342)
          to label %invoke.cont351 unwind label %lpad350

invoke.cont351:                                   ; preds = %invoke.cont348
  %159 = icmp eq %"class.std::numpunct"* %call352, null
  br i1 %159, label %dynamic_cast.null354, label %dynamic_cast.notnull353

dynamic_cast.notnull353:                          ; preds = %invoke.cont351
  %160 = bitcast %"class.std::numpunct"* %call352 to i8*
  %161 = call i8* @__dynamic_cast(i8* %160, i8* bitcast (i8** @_ZTISt8numpunctIcE to i8*), i8* bitcast ({ i8*, i8*, i8* }* @_ZTI19backward_bool_names to i8*), i32 -1)
  %162 = bitcast i8* %161 to %class.backward_bool_names*
  br label %dynamic_cast.end355

lpad250:                                          ; preds = %invoke.cont259, %invoke.cont254, %invoke.cont251, %invoke.cont248
  %163 = landingpad { i8*, i32 } personality i8* bitcast (i32 (...)* @__gxx_personality_v0 to i8*)
          cleanup
  %164 = extractvalue { i8*, i32 } %163, 0
  store i8* %164, i8** %exn.slot
  %165 = extractvalue { i8*, i32 } %163, 1
  store i32 %165, i32* %ehselector.slot
  br label %ehcleanup265

lpad257:                                          ; preds = %invoke.cont258, %invoke.cont255
  %166 = landingpad { i8*, i32 } personality i8* bitcast (i32 (...)* @__gxx_personality_v0 to i8*)
          cleanup
  %167 = extractvalue { i8*, i32 } %166, 0
  store i8* %167, i8** %exn.slot
  %168 = extractvalue { i8*, i32 } %166, 1
  store i32 %168, i32* %ehselector.slot
  invoke void @_ZN5boost9unit_test17lazy_ostream_implIRKNS0_13basic_cstringIKcEEED1Ev(%"class.boost::unit_test::lazy_ostream_impl.0"* %ref.tmp249)
          to label %invoke.cont263 unwind label %terminate.lpad

invoke.cont263:                                   ; preds = %lpad257
  br label %ehcleanup265

ehcleanup265:                                     ; preds = %invoke.cont263, %lpad250
  invoke void @_ZN5boost10test_tools16predicate_resultD1Ev(%"class.boost::test_tools::predicate_result"* %ref.tmp223)
          to label %invoke.cont266 unwind label %terminate.lpad

invoke.cont266:                                   ; preds = %ehcleanup265
  br label %ehcleanup270

ehcleanup270:                                     ; preds = %invoke.cont266, %lpad240
  %cleanup.is_active271 = load i1* %cleanup.cond239
  br i1 %cleanup.is_active271, label %cleanup.action272, label %cleanup.done273

cleanup.action272:                                ; preds = %ehcleanup270
  call void @_ZNSt6localeD1Ev(%"class.std::locale"* %ref.tmp232) nounwind
  br label %cleanup.done273

cleanup.done273:                                  ; preds = %cleanup.action272, %ehcleanup270
  br label %ehcleanup274

ehcleanup274:                                     ; preds = %cleanup.done273, %lpad237
  call void @_ZNSt6localeD1Ev(%"class.std::locale"* %ref.tmp224) nounwind
  br label %ehcleanup609

lpad288:                                          ; preds = %invoke.cont450, %invoke.cont449, %invoke.cont447, %do.body445, %invoke.cont412, %invoke.cont410, %invoke.cont409, %invoke.cont407, %do.body405, %invoke.cont399, %invoke.cont394, %do.end387, %invoke.cont332, %invoke.cont331, %invoke.cont329, %do.body327, %invoke.cont294, %invoke.cont292, %invoke.cont291, %invoke.cont289, %do.body286
  %169 = landingpad { i8*, i32 } personality i8* bitcast (i32 (...)* @__gxx_personality_v0 to i8*)
          cleanup
  %170 = extractvalue { i8*, i32 } %169, 0
  store i8* %170, i8** %exn.slot
  %171 = extractvalue { i8*, i32 } %169, 1
  store i32 %171, i32* %ehselector.slot
  br label %ehcleanup505

lpad303:                                          ; preds = %invoke.cont317, %invoke.cont301
  %172 = landingpad { i8*, i32 } personality i8* bitcast (i32 (...)* @__gxx_personality_v0 to i8*)
          cleanup
  %173 = extractvalue { i8*, i32 } %172, 0
  store i8* %173, i8** %exn.slot
  %174 = extractvalue { i8*, i32 } %172, 1
  store i32 %174, i32* %ehselector.slot
  br label %ehcleanup323

lpad306:                                          ; preds = %invoke.cont315, %invoke.cont310, %invoke.cont307, %invoke.cont304
  %175 = landingpad { i8*, i32 } personality i8* bitcast (i32 (...)* @__gxx_personality_v0 to i8*)
          cleanup
  %176 = extractvalue { i8*, i32 } %175, 0
  store i8* %176, i8** %exn.slot
  %177 = extractvalue { i8*, i32 } %175, 1
  store i32 %177, i32* %ehselector.slot
  br label %ehcleanup321

lpad313:                                          ; preds = %invoke.cont314, %invoke.cont311
  %178 = landingpad { i8*, i32 } personality i8* bitcast (i32 (...)* @__gxx_personality_v0 to i8*)
          cleanup
  %179 = extractvalue { i8*, i32 } %178, 0
  store i8* %179, i8** %exn.slot
  %180 = extractvalue { i8*, i32 } %178, 1
  store i32 %180, i32* %ehselector.slot
  invoke void @_ZN5boost9unit_test17lazy_ostream_implIRKNS0_13basic_cstringIKcEEED1Ev(%"class.boost::unit_test::lazy_ostream_impl.0"* %ref.tmp305)
          to label %invoke.cont319 unwind label %terminate.lpad

invoke.cont319:                                   ; preds = %lpad313
  br label %ehcleanup321

ehcleanup321:                                     ; preds = %invoke.cont319, %lpad306
  invoke void @_ZN5boost10test_tools16predicate_resultD1Ev(%"class.boost::test_tools::predicate_result"* %ref.tmp293)
          to label %invoke.cont322 unwind label %terminate.lpad

invoke.cont322:                                   ; preds = %ehcleanup321
  br label %ehcleanup323

ehcleanup323:                                     ; preds = %invoke.cont322, %lpad303
  call void @_ZNSt6localeD1Ev(%"class.std::locale"* %ref.tmp296) nounwind
  br label %ehcleanup505

lpad347:                                          ; preds = %lor.rhs341
  %181 = landingpad { i8*, i32 } personality i8* bitcast (i32 (...)* @__gxx_personality_v0 to i8*)
          cleanup
  %182 = extractvalue { i8*, i32 } %181, 0
  store i8* %182, i8** %exn.slot
  %183 = extractvalue { i8*, i32 } %181, 1
  store i32 %183, i32* %ehselector.slot
  br label %ehcleanup384

lpad350:                                          ; preds = %invoke.cont371, %lor.end357, %invoke.cont348
  %184 = landingpad { i8*, i32 } personality i8* bitcast (i32 (...)* @__gxx_personality_v0 to i8*)
          cleanup
  %185 = extractvalue { i8*, i32 } %184, 0
  store i8* %185, i8** %exn.slot
  %186 = extractvalue { i8*, i32 } %184, 1
  store i32 %186, i32* %ehselector.slot
  br label %ehcleanup380

dynamic_cast.null354:                             ; preds = %invoke.cont351
  br label %dynamic_cast.end355

dynamic_cast.end355:                              ; preds = %dynamic_cast.null354, %dynamic_cast.notnull353
  %187 = phi %class.backward_bool_names* [ %162, %dynamic_cast.notnull353 ], [ null, %dynamic_cast.null354 ]
  %cmp356 = icmp eq %class.backward_bool_names* null, %187
  br label %lor.end357

lor.end357:                                       ; preds = %dynamic_cast.end355, %invoke.cont339
  %188 = phi i1 [ true, %invoke.cont339 ], [ %cmp356, %dynamic_cast.end355 ]
  invoke void @_ZN5boost10test_tools16predicate_resultC1Eb(%"class.boost::test_tools::predicate_result"* %ref.tmp333, i1 zeroext %188)
          to label %invoke.cont358 unwind label %lpad350

invoke.cont358:                                   ; preds = %lor.end357
  %call362 = invoke %"class.boost::unit_test::lazy_ostream"* @_ZN5boost9unit_test12lazy_ostream8instanceEv()
          to label %invoke.cont361 unwind label %lpad360

invoke.cont361:                                   ; preds = %invoke.cont358
  invoke void @_ZN5boost9unit_test13basic_cstringIKcEC1EPS2_j(%"class.boost::unit_test::basic_cstring"* %ref.tmp363, i8* getelementptr inbounds ([128 x i8]* @.str49, i32 0, i32 0), i32 127)
          to label %invoke.cont364 unwind label %lpad360

invoke.cont364:                                   ; preds = %invoke.cont361
  invoke void @_ZN5boost9unit_testlsINS0_13basic_cstringIKcEEEENS0_17lazy_ostream_implIRKT_EERKNS0_12lazy_ostreamES8_(%"class.boost::unit_test::lazy_ostream_impl.0"* sret %ref.tmp359, %"class.boost::unit_test::lazy_ostream"* %call362, %"class.boost::unit_test::basic_cstring"* %ref.tmp363)
          to label %invoke.cont365 unwind label %lpad360

invoke.cont365:                                   ; preds = %invoke.cont364
  %189 = bitcast %"class.boost::unit_test::lazy_ostream_impl.0"* %ref.tmp359 to %"class.boost::unit_test::lazy_ostream"*
  invoke void @_ZN5boost9unit_test13basic_cstringIKcEC1EPS2_j(%"class.boost::unit_test::basic_cstring"* %agg.tmp366, i8* getelementptr inbounds ([24 x i8]* @.str, i32 0, i32 0), i32 23)
          to label %invoke.cont368 unwind label %lpad367

invoke.cont368:                                   ; preds = %invoke.cont365
  %call370 = invoke zeroext i1 (%"class.boost::test_tools::predicate_result"*, %"class.boost::unit_test::lazy_ostream"*, %"class.boost::unit_test::basic_cstring"*, i32, i32, i32, i32, ...)* @_ZN5boost10test_tools9tt_detail10check_implERKNS0_16predicate_resultERKNS_9unit_test12lazy_ostreamENS5_13basic_cstringIKcEEjNS1_10tool_levelENS1_10check_typeEjz(%"class.boost::test_tools::predicate_result"* %ref.tmp333, %"class.boost::unit_test::lazy_ostream"* %189, %"class.boost::unit_test::basic_cstring"* byval align 4 %agg.tmp366, i32 403, i32 1, i32 0, i32 0)
          to label %invoke.cont369 unwind label %lpad367

invoke.cont369:                                   ; preds = %invoke.cont368
  invoke void @_ZN5boost9unit_test17lazy_ostream_implIRKNS0_13basic_cstringIKcEEED1Ev(%"class.boost::unit_test::lazy_ostream_impl.0"* %ref.tmp359)
          to label %invoke.cont371 unwind label %lpad360

invoke.cont371:                                   ; preds = %invoke.cont369
  invoke void @_ZN5boost10test_tools16predicate_resultD1Ev(%"class.boost::test_tools::predicate_result"* %ref.tmp333)
          to label %invoke.cont374 unwind label %lpad350

invoke.cont374:                                   ; preds = %invoke.cont371
  %cleanup.is_active377 = load i1* %cleanup.cond349
  br i1 %cleanup.is_active377, label %cleanup.action378, label %cleanup.done379

cleanup.action378:                                ; preds = %invoke.cont374
  call void @_ZNSt6localeD1Ev(%"class.std::locale"* %ref.tmp342) nounwind
  br label %cleanup.done379

cleanup.done379:                                  ; preds = %cleanup.action378, %invoke.cont374
  call void @_ZNSt6localeD1Ev(%"class.std::locale"* %ref.tmp334) nounwind
  br label %do.cond385

do.cond385:                                       ; preds = %cleanup.done379
  %190 = load i8* @_ZN5boost10test_tools12_GLOBAL__N_110dummy_condE, align 1
  %tobool386 = trunc i8 %190 to i1
  br i1 %tobool386, label %do.body327, label %do.end387

do.end387:                                        ; preds = %do.cond385
  %191 = bitcast %"class.std::basic_stringstream"* %ss to i8**
  %vtable389 = load i8** %191
  %vbase.offset.ptr390 = getelementptr i8* %vtable389, i64 -12
  %192 = bitcast i8* %vbase.offset.ptr390 to i32*
  %vbase.offset391 = load i32* %192
  %193 = bitcast %"class.std::basic_stringstream"* %ss to i8*
  %add.ptr392 = getelementptr inbounds i8* %193, i32 %vbase.offset391
  %194 = bitcast i8* %add.ptr392 to %"class.std::basic_ios"*
  %call395 = invoke %"class.std::locale"* @_ZNSt6locale7classicEv()
          to label %invoke.cont394 unwind label %lpad288

invoke.cont394:                                   ; preds = %do.end387
  %call397 = invoke noalias i8* @_Znwj(i32 12)
          to label %invoke.cont396 unwind label %lpad288

invoke.cont396:                                   ; preds = %invoke.cont394
  %195 = bitcast i8* %call397 to %class.backward_bool_names*
  invoke void @_ZN19backward_bool_namesC1Ej(%class.backward_bool_names* %195, i32 0)
          to label %invoke.cont399 unwind label %lpad398

invoke.cont399:                                   ; preds = %invoke.cont396
  invoke void @_ZNSt6localeC1I19backward_bool_namesEERKS_PT_(%"class.std::locale"* %ref.tmp393, %"class.std::locale"* %call395, %class.backward_bool_names* %195)
          to label %invoke.cont401 unwind label %lpad288

invoke.cont401:                                   ; preds = %invoke.cont399
  invoke void @_ZNSt9basic_iosIcSt11char_traitsIcEE5imbueERKSt6locale(%"class.std::locale"* sret %agg.tmp.ensured388, %"class.std::basic_ios"* %194, %"class.std::locale"* %ref.tmp393)
          to label %invoke.cont403 unwind label %lpad402

invoke.cont403:                                   ; preds = %invoke.cont401
  call void @_ZNSt6localeD1Ev(%"class.std::locale"* %agg.tmp.ensured388) nounwind
  call void @_ZNSt6localeD1Ev(%"class.std::locale"* %ref.tmp393) nounwind
  br label %do.body405

do.body405:                                       ; preds = %do.cond442, %invoke.cont403
  %196 = load %"class.boost::unit_test::unit_test_log_t"** @_ZN5boost9unit_test12_GLOBAL__N_113unit_test_logE, align 4
  invoke void @_ZN5boost9unit_test13basic_cstringIKcEC1EPS2_j(%"class.boost::unit_test::basic_cstring"* %agg.tmp406, i8* getelementptr inbounds ([24 x i8]* @.str, i32 0, i32 0), i32 23)
          to label %invoke.cont407 unwind label %lpad288

invoke.cont407:                                   ; preds = %do.body405
  invoke void @_ZN5boost9unit_test13basic_cstringIKcEC1Ev(%"class.boost::unit_test::basic_cstring"* %agg.tmp408)
          to label %invoke.cont409 unwind label %lpad288

invoke.cont409:                                   ; preds = %invoke.cont407
  invoke void @_ZN5boost9unit_test15unit_test_log_t14set_checkpointENS0_13basic_cstringIKcEEjS4_(%"class.boost::unit_test::unit_test_log_t"* %196, %"class.boost::unit_test::basic_cstring"* byval align 4 %agg.tmp406, i32 406, %"class.boost::unit_test::basic_cstring"* byval align 4 %agg.tmp408)
          to label %invoke.cont410 unwind label %lpad288

invoke.cont410:                                   ; preds = %invoke.cont409
  %call413 = invoke %"class.std::locale"* @_ZNSt6locale7classicEv()
          to label %invoke.cont412 unwind label %lpad288

invoke.cont412:                                   ; preds = %invoke.cont410
  %197 = bitcast %"class.std::basic_stringstream"* %ss to i8**
  %vtable415 = load i8** %197
  %vbase.offset.ptr416 = getelementptr i8* %vtable415, i64 -12
  %198 = bitcast i8* %vbase.offset.ptr416 to i32*
  %vbase.offset417 = load i32* %198
  %199 = bitcast %"class.std::basic_stringstream"* %ss to i8*
  %add.ptr418 = getelementptr inbounds i8* %199, i32 %vbase.offset417
  %200 = bitcast i8* %add.ptr418 to %"class.std::ios_base"*
  invoke void @_ZNKSt8ios_base6getlocEv(%"class.std::locale"* sret %ref.tmp414, %"class.std::ios_base"* %200)
          to label %invoke.cont419 unwind label %lpad288

invoke.cont419:                                   ; preds = %invoke.cont412
  %call420 = call zeroext i1 @_ZNKSt6localeneERKS_(%"class.std::locale"* %call413, %"class.std::locale"* %ref.tmp414) nounwind
  invoke void @_ZN5boost10test_tools16predicate_resultC1Eb(%"class.boost::test_tools::predicate_result"* %ref.tmp411, i1 zeroext %call420)
          to label %invoke.cont422 unwind label %lpad421

invoke.cont422:                                   ; preds = %invoke.cont419
  %call426 = invoke %"class.boost::unit_test::lazy_ostream"* @_ZN5boost9unit_test12lazy_ostream8instanceEv()
          to label %invoke.cont425 unwind label %lpad424

invoke.cont425:                                   ; preds = %invoke.cont422
  invoke void @_ZN5boost9unit_test13basic_cstringIKcEC1EPS2_j(%"class.boost::unit_test::basic_cstring"* %ref.tmp427, i8* getelementptr inbounds ([33 x i8]* @.str51, i32 0, i32 0), i32 32)
          to label %invoke.cont428 unwind label %lpad424

invoke.cont428:                                   ; preds = %invoke.cont425
  invoke void @_ZN5boost9unit_testlsINS0_13basic_cstringIKcEEEENS0_17lazy_ostream_implIRKT_EERKNS0_12lazy_ostreamES8_(%"class.boost::unit_test::lazy_ostream_impl.0"* sret %ref.tmp423, %"class.boost::unit_test::lazy_ostream"* %call426, %"class.boost::unit_test::basic_cstring"* %ref.tmp427)
          to label %invoke.cont429 unwind label %lpad424

invoke.cont429:                                   ; preds = %invoke.cont428
  %201 = bitcast %"class.boost::unit_test::lazy_ostream_impl.0"* %ref.tmp423 to %"class.boost::unit_test::lazy_ostream"*
  invoke void @_ZN5boost9unit_test13basic_cstringIKcEC1EPS2_j(%"class.boost::unit_test::basic_cstring"* %agg.tmp430, i8* getelementptr inbounds ([24 x i8]* @.str, i32 0, i32 0), i32 23)
          to label %invoke.cont432 unwind label %lpad431

invoke.cont432:                                   ; preds = %invoke.cont429
  %call434 = invoke zeroext i1 (%"class.boost::test_tools::predicate_result"*, %"class.boost::unit_test::lazy_ostream"*, %"class.boost::unit_test::basic_cstring"*, i32, i32, i32, i32, ...)* @_ZN5boost10test_tools9tt_detail10check_implERKNS0_16predicate_resultERKNS_9unit_test12lazy_ostreamENS5_13basic_cstringIKcEEjNS1_10tool_levelENS1_10check_typeEjz(%"class.boost::test_tools::predicate_result"* %ref.tmp411, %"class.boost::unit_test::lazy_ostream"* %201, %"class.boost::unit_test::basic_cstring"* byval align 4 %agg.tmp430, i32 406, i32 1, i32 0, i32 0)
          to label %invoke.cont433 unwind label %lpad431

invoke.cont433:                                   ; preds = %invoke.cont432
  invoke void @_ZN5boost9unit_test17lazy_ostream_implIRKNS0_13basic_cstringIKcEEED1Ev(%"class.boost::unit_test::lazy_ostream_impl.0"* %ref.tmp423)
          to label %invoke.cont435 unwind label %lpad424

invoke.cont435:                                   ; preds = %invoke.cont433
  invoke void @_ZN5boost10test_tools16predicate_resultD1Ev(%"class.boost::test_tools::predicate_result"* %ref.tmp411)
          to label %invoke.cont438 unwind label %lpad421

invoke.cont438:                                   ; preds = %invoke.cont435
  call void @_ZNSt6localeD1Ev(%"class.std::locale"* %ref.tmp414) nounwind
  br label %do.cond442

do.cond442:                                       ; preds = %invoke.cont438
  %202 = load i8* @_ZN5boost10test_tools12_GLOBAL__N_110dummy_condE, align 1
  %tobool443 = trunc i8 %202 to i1
  br i1 %tobool443, label %do.body405, label %do.end444

do.end444:                                        ; preds = %do.cond442
  br label %do.body445

do.body445:                                       ; preds = %do.cond501, %do.end444
  %203 = load %"class.boost::unit_test::unit_test_log_t"** @_ZN5boost9unit_test12_GLOBAL__N_113unit_test_logE, align 4
  invoke void @_ZN5boost9unit_test13basic_cstringIKcEC1EPS2_j(%"class.boost::unit_test::basic_cstring"* %agg.tmp446, i8* getelementptr inbounds ([24 x i8]* @.str, i32 0, i32 0), i32 23)
          to label %invoke.cont447 unwind label %lpad288

invoke.cont447:                                   ; preds = %do.body445
  invoke void @_ZN5boost9unit_test13basic_cstringIKcEC1Ev(%"class.boost::unit_test::basic_cstring"* %agg.tmp448)
          to label %invoke.cont449 unwind label %lpad288

invoke.cont449:                                   ; preds = %invoke.cont447
  invoke void @_ZN5boost9unit_test15unit_test_log_t14set_checkpointENS0_13basic_cstringIKcEEjS4_(%"class.boost::unit_test::unit_test_log_t"* %203, %"class.boost::unit_test::basic_cstring"* byval align 4 %agg.tmp446, i32 409, %"class.boost::unit_test::basic_cstring"* byval align 4 %agg.tmp448)
          to label %invoke.cont450 unwind label %lpad288

invoke.cont450:                                   ; preds = %invoke.cont449
  %204 = bitcast %"class.std::basic_stringstream"* %ss to i8**
  %vtable453 = load i8** %204
  %vbase.offset.ptr454 = getelementptr i8* %vtable453, i64 -12
  %205 = bitcast i8* %vbase.offset.ptr454 to i32*
  %vbase.offset455 = load i32* %205
  %206 = bitcast %"class.std::basic_stringstream"* %ss to i8*
  %add.ptr456 = getelementptr inbounds i8* %206, i32 %vbase.offset455
  %207 = bitcast i8* %add.ptr456 to %"class.std::ios_base"*
  store i1 false, i1* %cleanup.cond466
  invoke void @_ZNKSt8ios_base6getlocEv(%"class.std::locale"* sret %ref.tmp452, %"class.std::ios_base"* %207)
          to label %invoke.cont457 unwind label %lpad288

invoke.cont457:                                   ; preds = %invoke.cont450
  %call458 = call zeroext i1 @_ZSt9has_facetISt8numpunctIcEEbRKSt6locale(%"class.std::locale"* %ref.tmp452) nounwind
  br i1 %call458, label %land.rhs, label %land.end

land.rhs:                                         ; preds = %invoke.cont457
  %208 = bitcast %"class.std::basic_stringstream"* %ss to i8**
  %vtable460 = load i8** %208
  %vbase.offset.ptr461 = getelementptr i8* %vtable460, i64 -12
  %209 = bitcast i8* %vbase.offset.ptr461 to i32*
  %vbase.offset462 = load i32* %209
  %210 = bitcast %"class.std::basic_stringstream"* %ss to i8*
  %add.ptr463 = getelementptr inbounds i8* %210, i32 %vbase.offset462
  %211 = bitcast i8* %add.ptr463 to %"class.std::ios_base"*
  invoke void @_ZNKSt8ios_base6getlocEv(%"class.std::locale"* sret %ref.tmp459, %"class.std::ios_base"* %211)
          to label %invoke.cont465 unwind label %lpad464

invoke.cont465:                                   ; preds = %land.rhs
  store i1 true, i1* %cleanup.cond466
  %call469 = invoke %"class.std::numpunct"* @_ZSt9use_facetISt8numpunctIcEERKT_RKSt6locale(%"class.std::locale"* %ref.tmp459)
          to label %invoke.cont468 unwind label %lpad467

invoke.cont468:                                   ; preds = %invoke.cont465
  %212 = icmp eq %"class.std::numpunct"* %call469, null
  br i1 %212, label %dynamic_cast.null471, label %dynamic_cast.notnull470

dynamic_cast.notnull470:                          ; preds = %invoke.cont468
  %213 = bitcast %"class.std::numpunct"* %call469 to i8*
  %214 = call i8* @__dynamic_cast(i8* %213, i8* bitcast (i8** @_ZTISt8numpunctIcE to i8*), i8* bitcast ({ i8*, i8*, i8* }* @_ZTI19backward_bool_names to i8*), i32 -1)
  %215 = bitcast i8* %214 to %class.backward_bool_names*
  br label %dynamic_cast.end472

lpad360:                                          ; preds = %invoke.cont369, %invoke.cont364, %invoke.cont361, %invoke.cont358
  %216 = landingpad { i8*, i32 } personality i8* bitcast (i32 (...)* @__gxx_personality_v0 to i8*)
          cleanup
  %217 = extractvalue { i8*, i32 } %216, 0
  store i8* %217, i8** %exn.slot
  %218 = extractvalue { i8*, i32 } %216, 1
  store i32 %218, i32* %ehselector.slot
  br label %ehcleanup375

lpad367:                                          ; preds = %invoke.cont368, %invoke.cont365
  %219 = landingpad { i8*, i32 } personality i8* bitcast (i32 (...)* @__gxx_personality_v0 to i8*)
          cleanup
  %220 = extractvalue { i8*, i32 } %219, 0
  store i8* %220, i8** %exn.slot
  %221 = extractvalue { i8*, i32 } %219, 1
  store i32 %221, i32* %ehselector.slot
  invoke void @_ZN5boost9unit_test17lazy_ostream_implIRKNS0_13basic_cstringIKcEEED1Ev(%"class.boost::unit_test::lazy_ostream_impl.0"* %ref.tmp359)
          to label %invoke.cont373 unwind label %terminate.lpad

invoke.cont373:                                   ; preds = %lpad367
  br label %ehcleanup375

ehcleanup375:                                     ; preds = %invoke.cont373, %lpad360
  invoke void @_ZN5boost10test_tools16predicate_resultD1Ev(%"class.boost::test_tools::predicate_result"* %ref.tmp333)
          to label %invoke.cont376 unwind label %terminate.lpad

invoke.cont376:                                   ; preds = %ehcleanup375
  br label %ehcleanup380

ehcleanup380:                                     ; preds = %invoke.cont376, %lpad350
  %cleanup.is_active381 = load i1* %cleanup.cond349
  br i1 %cleanup.is_active381, label %cleanup.action382, label %cleanup.done383

cleanup.action382:                                ; preds = %ehcleanup380
  call void @_ZNSt6localeD1Ev(%"class.std::locale"* %ref.tmp342) nounwind
  br label %cleanup.done383

cleanup.done383:                                  ; preds = %cleanup.action382, %ehcleanup380
  br label %ehcleanup384

ehcleanup384:                                     ; preds = %cleanup.done383, %lpad347
  call void @_ZNSt6localeD1Ev(%"class.std::locale"* %ref.tmp334) nounwind
  br label %ehcleanup505

lpad398:                                          ; preds = %invoke.cont396
  %222 = landingpad { i8*, i32 } personality i8* bitcast (i32 (...)* @__gxx_personality_v0 to i8*)
          cleanup
  %223 = extractvalue { i8*, i32 } %222, 0
  store i8* %223, i8** %exn.slot
  %224 = extractvalue { i8*, i32 } %222, 1
  store i32 %224, i32* %ehselector.slot
  call void @_ZdlPv(i8* %call397) nounwind
  br label %ehcleanup505

lpad402:                                          ; preds = %invoke.cont401
  %225 = landingpad { i8*, i32 } personality i8* bitcast (i32 (...)* @__gxx_personality_v0 to i8*)
          cleanup
  %226 = extractvalue { i8*, i32 } %225, 0
  store i8* %226, i8** %exn.slot
  %227 = extractvalue { i8*, i32 } %225, 1
  store i32 %227, i32* %ehselector.slot
  call void @_ZNSt6localeD1Ev(%"class.std::locale"* %ref.tmp393) nounwind
  br label %ehcleanup505

lpad421:                                          ; preds = %invoke.cont435, %invoke.cont419
  %228 = landingpad { i8*, i32 } personality i8* bitcast (i32 (...)* @__gxx_personality_v0 to i8*)
          cleanup
  %229 = extractvalue { i8*, i32 } %228, 0
  store i8* %229, i8** %exn.slot
  %230 = extractvalue { i8*, i32 } %228, 1
  store i32 %230, i32* %ehselector.slot
  br label %ehcleanup441

lpad424:                                          ; preds = %invoke.cont433, %invoke.cont428, %invoke.cont425, %invoke.cont422
  %231 = landingpad { i8*, i32 } personality i8* bitcast (i32 (...)* @__gxx_personality_v0 to i8*)
          cleanup
  %232 = extractvalue { i8*, i32 } %231, 0
  store i8* %232, i8** %exn.slot
  %233 = extractvalue { i8*, i32 } %231, 1
  store i32 %233, i32* %ehselector.slot
  br label %ehcleanup439

lpad431:                                          ; preds = %invoke.cont432, %invoke.cont429
  %234 = landingpad { i8*, i32 } personality i8* bitcast (i32 (...)* @__gxx_personality_v0 to i8*)
          cleanup
  %235 = extractvalue { i8*, i32 } %234, 0
  store i8* %235, i8** %exn.slot
  %236 = extractvalue { i8*, i32 } %234, 1
  store i32 %236, i32* %ehselector.slot
  invoke void @_ZN5boost9unit_test17lazy_ostream_implIRKNS0_13basic_cstringIKcEEED1Ev(%"class.boost::unit_test::lazy_ostream_impl.0"* %ref.tmp423)
          to label %invoke.cont437 unwind label %terminate.lpad

invoke.cont437:                                   ; preds = %lpad431
  br label %ehcleanup439

ehcleanup439:                                     ; preds = %invoke.cont437, %lpad424
  invoke void @_ZN5boost10test_tools16predicate_resultD1Ev(%"class.boost::test_tools::predicate_result"* %ref.tmp411)
          to label %invoke.cont440 unwind label %terminate.lpad

invoke.cont440:                                   ; preds = %ehcleanup439
  br label %ehcleanup441

ehcleanup441:                                     ; preds = %invoke.cont440, %lpad421
  call void @_ZNSt6localeD1Ev(%"class.std::locale"* %ref.tmp414) nounwind
  br label %ehcleanup505

lpad464:                                          ; preds = %land.rhs
  %237 = landingpad { i8*, i32 } personality i8* bitcast (i32 (...)* @__gxx_personality_v0 to i8*)
          cleanup
  %238 = extractvalue { i8*, i32 } %237, 0
  store i8* %238, i8** %exn.slot
  %239 = extractvalue { i8*, i32 } %237, 1
  store i32 %239, i32* %ehselector.slot
  br label %ehcleanup500

lpad467:                                          ; preds = %invoke.cont487, %land.end, %invoke.cont465
  %240 = landingpad { i8*, i32 } personality i8* bitcast (i32 (...)* @__gxx_personality_v0 to i8*)
          cleanup
  %241 = extractvalue { i8*, i32 } %240, 0
  store i8* %241, i8** %exn.slot
  %242 = extractvalue { i8*, i32 } %240, 1
  store i32 %242, i32* %ehselector.slot
  br label %ehcleanup496

dynamic_cast.null471:                             ; preds = %invoke.cont468
  br label %dynamic_cast.end472

dynamic_cast.end472:                              ; preds = %dynamic_cast.null471, %dynamic_cast.notnull470
  %243 = phi %class.backward_bool_names* [ %215, %dynamic_cast.notnull470 ], [ null, %dynamic_cast.null471 ]
  %cmp473 = icmp ne %class.backward_bool_names* null, %243
  br label %land.end

land.end:                                         ; preds = %dynamic_cast.end472, %invoke.cont457
  %244 = phi i1 [ false, %invoke.cont457 ], [ %cmp473, %dynamic_cast.end472 ]
  invoke void @_ZN5boost10test_tools16predicate_resultC1Eb(%"class.boost::test_tools::predicate_result"* %ref.tmp451, i1 zeroext %244)
          to label %invoke.cont474 unwind label %lpad467

invoke.cont474:                                   ; preds = %land.end
  %call478 = invoke %"class.boost::unit_test::lazy_ostream"* @_ZN5boost9unit_test12lazy_ostream8instanceEv()
          to label %invoke.cont477 unwind label %lpad476

invoke.cont477:                                   ; preds = %invoke.cont474
  invoke void @_ZN5boost9unit_test13basic_cstringIKcEC1EPS2_j(%"class.boost::unit_test::basic_cstring"* %ref.tmp479, i8* getelementptr inbounds ([127 x i8]* @.str52, i32 0, i32 0), i32 126)
          to label %invoke.cont480 unwind label %lpad476

invoke.cont480:                                   ; preds = %invoke.cont477
  invoke void @_ZN5boost9unit_testlsINS0_13basic_cstringIKcEEEENS0_17lazy_ostream_implIRKT_EERKNS0_12lazy_ostreamES8_(%"class.boost::unit_test::lazy_ostream_impl.0"* sret %ref.tmp475, %"class.boost::unit_test::lazy_ostream"* %call478, %"class.boost::unit_test::basic_cstring"* %ref.tmp479)
          to label %invoke.cont481 unwind label %lpad476

invoke.cont481:                                   ; preds = %invoke.cont480
  %245 = bitcast %"class.boost::unit_test::lazy_ostream_impl.0"* %ref.tmp475 to %"class.boost::unit_test::lazy_ostream"*
  invoke void @_ZN5boost9unit_test13basic_cstringIKcEC1EPS2_j(%"class.boost::unit_test::basic_cstring"* %agg.tmp482, i8* getelementptr inbounds ([24 x i8]* @.str, i32 0, i32 0), i32 23)
          to label %invoke.cont484 unwind label %lpad483

invoke.cont484:                                   ; preds = %invoke.cont481
  %call486 = invoke zeroext i1 (%"class.boost::test_tools::predicate_result"*, %"class.boost::unit_test::lazy_ostream"*, %"class.boost::unit_test::basic_cstring"*, i32, i32, i32, i32, ...)* @_ZN5boost10test_tools9tt_detail10check_implERKNS0_16predicate_resultERKNS_9unit_test12lazy_ostreamENS5_13basic_cstringIKcEEjNS1_10tool_levelENS1_10check_typeEjz(%"class.boost::test_tools::predicate_result"* %ref.tmp451, %"class.boost::unit_test::lazy_ostream"* %245, %"class.boost::unit_test::basic_cstring"* byval align 4 %agg.tmp482, i32 409, i32 1, i32 0, i32 0)
          to label %invoke.cont485 unwind label %lpad483

invoke.cont485:                                   ; preds = %invoke.cont484
  invoke void @_ZN5boost9unit_test17lazy_ostream_implIRKNS0_13basic_cstringIKcEEED1Ev(%"class.boost::unit_test::lazy_ostream_impl.0"* %ref.tmp475)
          to label %invoke.cont487 unwind label %lpad476

invoke.cont487:                                   ; preds = %invoke.cont485
  invoke void @_ZN5boost10test_tools16predicate_resultD1Ev(%"class.boost::test_tools::predicate_result"* %ref.tmp451)
          to label %invoke.cont490 unwind label %lpad467

invoke.cont490:                                   ; preds = %invoke.cont487
  %cleanup.is_active493 = load i1* %cleanup.cond466
  br i1 %cleanup.is_active493, label %cleanup.action494, label %cleanup.done495

cleanup.action494:                                ; preds = %invoke.cont490
  call void @_ZNSt6localeD1Ev(%"class.std::locale"* %ref.tmp459) nounwind
  br label %cleanup.done495

cleanup.done495:                                  ; preds = %cleanup.action494, %invoke.cont490
  call void @_ZNSt6localeD1Ev(%"class.std::locale"* %ref.tmp452) nounwind
  br label %do.cond501

do.cond501:                                       ; preds = %cleanup.done495
  %246 = load i8* @_ZN5boost10test_tools12_GLOBAL__N_110dummy_condE, align 1
  %tobool502 = trunc i8 %246 to i1
  br i1 %tobool502, label %do.body445, label %do.end503

do.end503:                                        ; preds = %do.cond501
  invoke void @_ZN5boost2io22basic_ios_locale_saverIcSt11char_traitsIcEED1Ev(%"class.boost::io::basic_ios_locale_saver"* %ils278)
          to label %invoke.cont504 unwind label %lpad

invoke.cont504:                                   ; preds = %do.end503
  br label %do.body507

do.body507:                                       ; preds = %do.cond545, %invoke.cont504
  %247 = load %"class.boost::unit_test::unit_test_log_t"** @_ZN5boost9unit_test12_GLOBAL__N_113unit_test_logE, align 4
  invoke void @_ZN5boost9unit_test13basic_cstringIKcEC1EPS2_j(%"class.boost::unit_test::basic_cstring"* %agg.tmp508, i8* getelementptr inbounds ([24 x i8]* @.str, i32 0, i32 0), i32 23)
          to label %invoke.cont509 unwind label %lpad

invoke.cont509:                                   ; preds = %do.body507
  invoke void @_ZN5boost9unit_test13basic_cstringIKcEC1Ev(%"class.boost::unit_test::basic_cstring"* %agg.tmp510)
          to label %invoke.cont511 unwind label %lpad

invoke.cont511:                                   ; preds = %invoke.cont509
  invoke void @_ZN5boost9unit_test15unit_test_log_t14set_checkpointENS0_13basic_cstringIKcEEjS4_(%"class.boost::unit_test::unit_test_log_t"* %247, %"class.boost::unit_test::basic_cstring"* byval align 4 %agg.tmp508, i32 413, %"class.boost::unit_test::basic_cstring"* byval align 4 %agg.tmp510)
          to label %invoke.cont512 unwind label %lpad

invoke.cont512:                                   ; preds = %invoke.cont511
  call void @_ZNSt6localeC1Ev(%"class.std::locale"* %temp.lvalue514) nounwind
  %248 = bitcast %"class.std::basic_stringstream"* %ss to i8**
  %vtable516 = load i8** %248
  %vbase.offset.ptr517 = getelementptr i8* %vtable516, i64 -12
  %249 = bitcast i8* %vbase.offset.ptr517 to i32*
  %vbase.offset518 = load i32* %249
  %250 = bitcast %"class.std::basic_stringstream"* %ss to i8*
  %add.ptr519 = getelementptr inbounds i8* %250, i32 %vbase.offset518
  %251 = bitcast i8* %add.ptr519 to %"class.std::ios_base"*
  invoke void @_ZNKSt8ios_base6getlocEv(%"class.std::locale"* sret %ref.tmp515, %"class.std::ios_base"* %251)
          to label %invoke.cont521 unwind label %lpad520

invoke.cont521:                                   ; preds = %invoke.cont512
  %call522 = call zeroext i1 @_ZNKSt6localeeqERKS_(%"class.std::locale"* %temp.lvalue514, %"class.std::locale"* %ref.tmp515) nounwind
  invoke void @_ZN5boost10test_tools16predicate_resultC1Eb(%"class.boost::test_tools::predicate_result"* %ref.tmp513, i1 zeroext %call522)
          to label %invoke.cont524 unwind label %lpad523

invoke.cont524:                                   ; preds = %invoke.cont521
  %call528 = invoke %"class.boost::unit_test::lazy_ostream"* @_ZN5boost9unit_test12lazy_ostream8instanceEv()
          to label %invoke.cont527 unwind label %lpad526

invoke.cont527:                                   ; preds = %invoke.cont524
  invoke void @_ZN5boost9unit_test13basic_cstringIKcEC1EPS2_j(%"class.boost::unit_test::basic_cstring"* %ref.tmp529, i8* getelementptr inbounds ([24 x i8]* @.str48, i32 0, i32 0), i32 23)
          to label %invoke.cont530 unwind label %lpad526

invoke.cont530:                                   ; preds = %invoke.cont527
  invoke void @_ZN5boost9unit_testlsINS0_13basic_cstringIKcEEEENS0_17lazy_ostream_implIRKT_EERKNS0_12lazy_ostreamES8_(%"class.boost::unit_test::lazy_ostream_impl.0"* sret %ref.tmp525, %"class.boost::unit_test::lazy_ostream"* %call528, %"class.boost::unit_test::basic_cstring"* %ref.tmp529)
          to label %invoke.cont531 unwind label %lpad526

invoke.cont531:                                   ; preds = %invoke.cont530
  %252 = bitcast %"class.boost::unit_test::lazy_ostream_impl.0"* %ref.tmp525 to %"class.boost::unit_test::lazy_ostream"*
  invoke void @_ZN5boost9unit_test13basic_cstringIKcEC1EPS2_j(%"class.boost::unit_test::basic_cstring"* %agg.tmp532, i8* getelementptr inbounds ([24 x i8]* @.str, i32 0, i32 0), i32 23)
          to label %invoke.cont534 unwind label %lpad533

invoke.cont534:                                   ; preds = %invoke.cont531
  %call536 = invoke zeroext i1 (%"class.boost::test_tools::predicate_result"*, %"class.boost::unit_test::lazy_ostream"*, %"class.boost::unit_test::basic_cstring"*, i32, i32, i32, i32, ...)* @_ZN5boost10test_tools9tt_detail10check_implERKNS0_16predicate_resultERKNS_9unit_test12lazy_ostreamENS5_13basic_cstringIKcEEjNS1_10tool_levelENS1_10check_typeEjz(%"class.boost::test_tools::predicate_result"* %ref.tmp513, %"class.boost::unit_test::lazy_ostream"* %252, %"class.boost::unit_test::basic_cstring"* byval align 4 %agg.tmp532, i32 413, i32 1, i32 0, i32 0)
          to label %invoke.cont535 unwind label %lpad533

invoke.cont535:                                   ; preds = %invoke.cont534
  invoke void @_ZN5boost9unit_test17lazy_ostream_implIRKNS0_13basic_cstringIKcEEED1Ev(%"class.boost::unit_test::lazy_ostream_impl.0"* %ref.tmp525)
          to label %invoke.cont537 unwind label %lpad526

invoke.cont537:                                   ; preds = %invoke.cont535
  invoke void @_ZN5boost10test_tools16predicate_resultD1Ev(%"class.boost::test_tools::predicate_result"* %ref.tmp513)
          to label %invoke.cont540 unwind label %lpad523

invoke.cont540:                                   ; preds = %invoke.cont537
  call void @_ZNSt6localeD1Ev(%"class.std::locale"* %ref.tmp515) nounwind
  call void @_ZNSt6localeD1Ev(%"class.std::locale"* %temp.lvalue514) nounwind
  br label %do.cond545

do.cond545:                                       ; preds = %invoke.cont540
  %253 = load i8* @_ZN5boost10test_tools12_GLOBAL__N_110dummy_condE, align 1
  %tobool546 = trunc i8 %253 to i1
  br i1 %tobool546, label %do.body507, label %do.end547

do.end547:                                        ; preds = %do.cond545
  br label %do.body548

do.body548:                                       ; preds = %do.cond606, %do.end547
  %254 = load %"class.boost::unit_test::unit_test_log_t"** @_ZN5boost9unit_test12_GLOBAL__N_113unit_test_logE, align 4
  invoke void @_ZN5boost9unit_test13basic_cstringIKcEC1EPS2_j(%"class.boost::unit_test::basic_cstring"* %agg.tmp549, i8* getelementptr inbounds ([24 x i8]* @.str, i32 0, i32 0), i32 23)
          to label %invoke.cont550 unwind label %lpad

invoke.cont550:                                   ; preds = %do.body548
  invoke void @_ZN5boost9unit_test13basic_cstringIKcEC1Ev(%"class.boost::unit_test::basic_cstring"* %agg.tmp551)
          to label %invoke.cont552 unwind label %lpad

invoke.cont552:                                   ; preds = %invoke.cont550
  invoke void @_ZN5boost9unit_test15unit_test_log_t14set_checkpointENS0_13basic_cstringIKcEEjS4_(%"class.boost::unit_test::unit_test_log_t"* %254, %"class.boost::unit_test::basic_cstring"* byval align 4 %agg.tmp549, i32 416, %"class.boost::unit_test::basic_cstring"* byval align 4 %agg.tmp551)
          to label %invoke.cont553 unwind label %lpad

invoke.cont553:                                   ; preds = %invoke.cont552
  %255 = bitcast %"class.std::basic_stringstream"* %ss to i8**
  %vtable556 = load i8** %255
  %vbase.offset.ptr557 = getelementptr i8* %vtable556, i64 -12
  %256 = bitcast i8* %vbase.offset.ptr557 to i32*
  %vbase.offset558 = load i32* %256
  %257 = bitcast %"class.std::basic_stringstream"* %ss to i8*
  %add.ptr559 = getelementptr inbounds i8* %257, i32 %vbase.offset558
  %258 = bitcast i8* %add.ptr559 to %"class.std::ios_base"*
  store i1 false, i1* %cleanup.cond570
  invoke void @_ZNKSt8ios_base6getlocEv(%"class.std::locale"* sret %ref.tmp555, %"class.std::ios_base"* %258)
          to label %invoke.cont560 unwind label %lpad

invoke.cont560:                                   ; preds = %invoke.cont553
  %call561 = call zeroext i1 @_ZSt9has_facetISt8numpunctIcEEbRKSt6locale(%"class.std::locale"* %ref.tmp555) nounwind
  br i1 %call561, label %lor.rhs562, label %lor.end578

lor.rhs562:                                       ; preds = %invoke.cont560
  %259 = bitcast %"class.std::basic_stringstream"* %ss to i8**
  %vtable564 = load i8** %259
  %vbase.offset.ptr565 = getelementptr i8* %vtable564, i64 -12
  %260 = bitcast i8* %vbase.offset.ptr565 to i32*
  %vbase.offset566 = load i32* %260
  %261 = bitcast %"class.std::basic_stringstream"* %ss to i8*
  %add.ptr567 = getelementptr inbounds i8* %261, i32 %vbase.offset566
  %262 = bitcast i8* %add.ptr567 to %"class.std::ios_base"*
  invoke void @_ZNKSt8ios_base6getlocEv(%"class.std::locale"* sret %ref.tmp563, %"class.std::ios_base"* %262)
          to label %invoke.cont569 unwind label %lpad568

invoke.cont569:                                   ; preds = %lor.rhs562
  store i1 true, i1* %cleanup.cond570
  %call573 = invoke %"class.std::numpunct"* @_ZSt9use_facetISt8numpunctIcEERKT_RKSt6locale(%"class.std::locale"* %ref.tmp563)
          to label %invoke.cont572 unwind label %lpad571

invoke.cont572:                                   ; preds = %invoke.cont569
  %263 = icmp eq %"class.std::numpunct"* %call573, null
  br i1 %263, label %dynamic_cast.null575, label %dynamic_cast.notnull574

dynamic_cast.notnull574:                          ; preds = %invoke.cont572
  %264 = bitcast %"class.std::numpunct"* %call573 to i8*
  %265 = call i8* @__dynamic_cast(i8* %264, i8* bitcast (i8** @_ZTISt8numpunctIcE to i8*), i8* bitcast ({ i8*, i8*, i8* }* @_ZTI19backward_bool_names to i8*), i32 -1)
  %266 = bitcast i8* %265 to %class.backward_bool_names*
  br label %dynamic_cast.end576

lpad476:                                          ; preds = %invoke.cont485, %invoke.cont480, %invoke.cont477, %invoke.cont474
  %267 = landingpad { i8*, i32 } personality i8* bitcast (i32 (...)* @__gxx_personality_v0 to i8*)
          cleanup
  %268 = extractvalue { i8*, i32 } %267, 0
  store i8* %268, i8** %exn.slot
  %269 = extractvalue { i8*, i32 } %267, 1
  store i32 %269, i32* %ehselector.slot
  br label %ehcleanup491

lpad483:                                          ; preds = %invoke.cont484, %invoke.cont481
  %270 = landingpad { i8*, i32 } personality i8* bitcast (i32 (...)* @__gxx_personality_v0 to i8*)
          cleanup
  %271 = extractvalue { i8*, i32 } %270, 0
  store i8* %271, i8** %exn.slot
  %272 = extractvalue { i8*, i32 } %270, 1
  store i32 %272, i32* %ehselector.slot
  invoke void @_ZN5boost9unit_test17lazy_ostream_implIRKNS0_13basic_cstringIKcEEED1Ev(%"class.boost::unit_test::lazy_ostream_impl.0"* %ref.tmp475)
          to label %invoke.cont489 unwind label %terminate.lpad

invoke.cont489:                                   ; preds = %lpad483
  br label %ehcleanup491

ehcleanup491:                                     ; preds = %invoke.cont489, %lpad476
  invoke void @_ZN5boost10test_tools16predicate_resultD1Ev(%"class.boost::test_tools::predicate_result"* %ref.tmp451)
          to label %invoke.cont492 unwind label %terminate.lpad

invoke.cont492:                                   ; preds = %ehcleanup491
  br label %ehcleanup496

ehcleanup496:                                     ; preds = %invoke.cont492, %lpad467
  %cleanup.is_active497 = load i1* %cleanup.cond466
  br i1 %cleanup.is_active497, label %cleanup.action498, label %cleanup.done499

cleanup.action498:                                ; preds = %ehcleanup496
  call void @_ZNSt6localeD1Ev(%"class.std::locale"* %ref.tmp459) nounwind
  br label %cleanup.done499

cleanup.done499:                                  ; preds = %cleanup.action498, %ehcleanup496
  br label %ehcleanup500

ehcleanup500:                                     ; preds = %cleanup.done499, %lpad464
  call void @_ZNSt6localeD1Ev(%"class.std::locale"* %ref.tmp452) nounwind
  br label %ehcleanup505

ehcleanup505:                                     ; preds = %ehcleanup500, %ehcleanup441, %lpad402, %lpad398, %ehcleanup384, %ehcleanup323, %lpad288
  invoke void @_ZN5boost2io22basic_ios_locale_saverIcSt11char_traitsIcEED1Ev(%"class.boost::io::basic_ios_locale_saver"* %ils278)
          to label %invoke.cont506 unwind label %terminate.lpad

invoke.cont506:                                   ; preds = %ehcleanup505
  br label %ehcleanup609

lpad520:                                          ; preds = %invoke.cont512
  %273 = landingpad { i8*, i32 } personality i8* bitcast (i32 (...)* @__gxx_personality_v0 to i8*)
          cleanup
  %274 = extractvalue { i8*, i32 } %273, 0
  store i8* %274, i8** %exn.slot
  %275 = extractvalue { i8*, i32 } %273, 1
  store i32 %275, i32* %ehselector.slot
  br label %ehcleanup544

lpad523:                                          ; preds = %invoke.cont537, %invoke.cont521
  %276 = landingpad { i8*, i32 } personality i8* bitcast (i32 (...)* @__gxx_personality_v0 to i8*)
          cleanup
  %277 = extractvalue { i8*, i32 } %276, 0
  store i8* %277, i8** %exn.slot
  %278 = extractvalue { i8*, i32 } %276, 1
  store i32 %278, i32* %ehselector.slot
  br label %ehcleanup543

lpad526:                                          ; preds = %invoke.cont535, %invoke.cont530, %invoke.cont527, %invoke.cont524
  %279 = landingpad { i8*, i32 } personality i8* bitcast (i32 (...)* @__gxx_personality_v0 to i8*)
          cleanup
  %280 = extractvalue { i8*, i32 } %279, 0
  store i8* %280, i8** %exn.slot
  %281 = extractvalue { i8*, i32 } %279, 1
  store i32 %281, i32* %ehselector.slot
  br label %ehcleanup541

lpad533:                                          ; preds = %invoke.cont534, %invoke.cont531
  %282 = landingpad { i8*, i32 } personality i8* bitcast (i32 (...)* @__gxx_personality_v0 to i8*)
          cleanup
  %283 = extractvalue { i8*, i32 } %282, 0
  store i8* %283, i8** %exn.slot
  %284 = extractvalue { i8*, i32 } %282, 1
  store i32 %284, i32* %ehselector.slot
  invoke void @_ZN5boost9unit_test17lazy_ostream_implIRKNS0_13basic_cstringIKcEEED1Ev(%"class.boost::unit_test::lazy_ostream_impl.0"* %ref.tmp525)
          to label %invoke.cont539 unwind label %terminate.lpad

invoke.cont539:                                   ; preds = %lpad533
  br label %ehcleanup541

ehcleanup541:                                     ; preds = %invoke.cont539, %lpad526
  invoke void @_ZN5boost10test_tools16predicate_resultD1Ev(%"class.boost::test_tools::predicate_result"* %ref.tmp513)
          to label %invoke.cont542 unwind label %terminate.lpad

invoke.cont542:                                   ; preds = %ehcleanup541
  br label %ehcleanup543

ehcleanup543:                                     ; preds = %invoke.cont542, %lpad523
  call void @_ZNSt6localeD1Ev(%"class.std::locale"* %ref.tmp515) nounwind
  br label %ehcleanup544

ehcleanup544:                                     ; preds = %ehcleanup543, %lpad520
  call void @_ZNSt6localeD1Ev(%"class.std::locale"* %temp.lvalue514) nounwind
  br label %ehcleanup609

lpad568:                                          ; preds = %lor.rhs562
  %285 = landingpad { i8*, i32 } personality i8* bitcast (i32 (...)* @__gxx_personality_v0 to i8*)
          cleanup
  %286 = extractvalue { i8*, i32 } %285, 0
  store i8* %286, i8** %exn.slot
  %287 = extractvalue { i8*, i32 } %285, 1
  store i32 %287, i32* %ehselector.slot
  br label %ehcleanup605

lpad571:                                          ; preds = %invoke.cont592, %lor.end578, %invoke.cont569
  %288 = landingpad { i8*, i32 } personality i8* bitcast (i32 (...)* @__gxx_personality_v0 to i8*)
          cleanup
  %289 = extractvalue { i8*, i32 } %288, 0
  store i8* %289, i8** %exn.slot
  %290 = extractvalue { i8*, i32 } %288, 1
  store i32 %290, i32* %ehselector.slot
  br label %ehcleanup601

dynamic_cast.null575:                             ; preds = %invoke.cont572
  br label %dynamic_cast.end576

dynamic_cast.end576:                              ; preds = %dynamic_cast.null575, %dynamic_cast.notnull574
  %291 = phi %class.backward_bool_names* [ %266, %dynamic_cast.notnull574 ], [ null, %dynamic_cast.null575 ]
  %cmp577 = icmp eq %class.backward_bool_names* null, %291
  br label %lor.end578

lor.end578:                                       ; preds = %dynamic_cast.end576, %invoke.cont560
  %292 = phi i1 [ true, %invoke.cont560 ], [ %cmp577, %dynamic_cast.end576 ]
  invoke void @_ZN5boost10test_tools16predicate_resultC1Eb(%"class.boost::test_tools::predicate_result"* %ref.tmp554, i1 zeroext %292)
          to label %invoke.cont579 unwind label %lpad571

invoke.cont579:                                   ; preds = %lor.end578
  %call583 = invoke %"class.boost::unit_test::lazy_ostream"* @_ZN5boost9unit_test12lazy_ostream8instanceEv()
          to label %invoke.cont582 unwind label %lpad581

invoke.cont582:                                   ; preds = %invoke.cont579
  invoke void @_ZN5boost9unit_test13basic_cstringIKcEC1EPS2_j(%"class.boost::unit_test::basic_cstring"* %ref.tmp584, i8* getelementptr inbounds ([128 x i8]* @.str49, i32 0, i32 0), i32 127)
          to label %invoke.cont585 unwind label %lpad581

invoke.cont585:                                   ; preds = %invoke.cont582
  invoke void @_ZN5boost9unit_testlsINS0_13basic_cstringIKcEEEENS0_17lazy_ostream_implIRKT_EERKNS0_12lazy_ostreamES8_(%"class.boost::unit_test::lazy_ostream_impl.0"* sret %ref.tmp580, %"class.boost::unit_test::lazy_ostream"* %call583, %"class.boost::unit_test::basic_cstring"* %ref.tmp584)
          to label %invoke.cont586 unwind label %lpad581

invoke.cont586:                                   ; preds = %invoke.cont585
  %293 = bitcast %"class.boost::unit_test::lazy_ostream_impl.0"* %ref.tmp580 to %"class.boost::unit_test::lazy_ostream"*
  invoke void @_ZN5boost9unit_test13basic_cstringIKcEC1EPS2_j(%"class.boost::unit_test::basic_cstring"* %agg.tmp587, i8* getelementptr inbounds ([24 x i8]* @.str, i32 0, i32 0), i32 23)
          to label %invoke.cont589 unwind label %lpad588

invoke.cont589:                                   ; preds = %invoke.cont586
  %call591 = invoke zeroext i1 (%"class.boost::test_tools::predicate_result"*, %"class.boost::unit_test::lazy_ostream"*, %"class.boost::unit_test::basic_cstring"*, i32, i32, i32, i32, ...)* @_ZN5boost10test_tools9tt_detail10check_implERKNS0_16predicate_resultERKNS_9unit_test12lazy_ostreamENS5_13basic_cstringIKcEEjNS1_10tool_levelENS1_10check_typeEjz(%"class.boost::test_tools::predicate_result"* %ref.tmp554, %"class.boost::unit_test::lazy_ostream"* %293, %"class.boost::unit_test::basic_cstring"* byval align 4 %agg.tmp587, i32 416, i32 1, i32 0, i32 0)
          to label %invoke.cont590 unwind label %lpad588

invoke.cont590:                                   ; preds = %invoke.cont589
  invoke void @_ZN5boost9unit_test17lazy_ostream_implIRKNS0_13basic_cstringIKcEEED1Ev(%"class.boost::unit_test::lazy_ostream_impl.0"* %ref.tmp580)
          to label %invoke.cont592 unwind label %lpad581

invoke.cont592:                                   ; preds = %invoke.cont590
  invoke void @_ZN5boost10test_tools16predicate_resultD1Ev(%"class.boost::test_tools::predicate_result"* %ref.tmp554)
          to label %invoke.cont595 unwind label %lpad571

invoke.cont595:                                   ; preds = %invoke.cont592
  %cleanup.is_active598 = load i1* %cleanup.cond570
  br i1 %cleanup.is_active598, label %cleanup.action599, label %cleanup.done600

cleanup.action599:                                ; preds = %invoke.cont595
  call void @_ZNSt6localeD1Ev(%"class.std::locale"* %ref.tmp563) nounwind
  br label %cleanup.done600

cleanup.done600:                                  ; preds = %cleanup.action599, %invoke.cont595
  call void @_ZNSt6localeD1Ev(%"class.std::locale"* %ref.tmp555) nounwind
  br label %do.cond606

do.cond606:                                       ; preds = %cleanup.done600
  %294 = load i8* @_ZN5boost10test_tools12_GLOBAL__N_110dummy_condE, align 1
  %tobool607 = trunc i8 %294 to i1
  br i1 %tobool607, label %do.body548, label %do.end608

do.end608:                                        ; preds = %do.cond606
  call void @_ZNSt18basic_stringstreamIcSt11char_traitsIcESaIcEED1Ev(%"class.std::basic_stringstream"* %ss)
  ret void

lpad581:                                          ; preds = %invoke.cont590, %invoke.cont585, %invoke.cont582, %invoke.cont579
  %295 = landingpad { i8*, i32 } personality i8* bitcast (i32 (...)* @__gxx_personality_v0 to i8*)
          cleanup
  %296 = extractvalue { i8*, i32 } %295, 0
  store i8* %296, i8** %exn.slot
  %297 = extractvalue { i8*, i32 } %295, 1
  store i32 %297, i32* %ehselector.slot
  br label %ehcleanup596

lpad588:                                          ; preds = %invoke.cont589, %invoke.cont586
  %298 = landingpad { i8*, i32 } personality i8* bitcast (i32 (...)* @__gxx_personality_v0 to i8*)
          cleanup
  %299 = extractvalue { i8*, i32 } %298, 0
  store i8* %299, i8** %exn.slot
  %300 = extractvalue { i8*, i32 } %298, 1
  store i32 %300, i32* %ehselector.slot
  invoke void @_ZN5boost9unit_test17lazy_ostream_implIRKNS0_13basic_cstringIKcEEED1Ev(%"class.boost::unit_test::lazy_ostream_impl.0"* %ref.tmp580)
          to label %invoke.cont594 unwind label %terminate.lpad

invoke.cont594:                                   ; preds = %lpad588
  br label %ehcleanup596

ehcleanup596:                                     ; preds = %invoke.cont594, %lpad581
  invoke void @_ZN5boost10test_tools16predicate_resultD1Ev(%"class.boost::test_tools::predicate_result"* %ref.tmp554)
          to label %invoke.cont597 unwind label %terminate.lpad

invoke.cont597:                                   ; preds = %ehcleanup596
  br label %ehcleanup601

ehcleanup601:                                     ; preds = %invoke.cont597, %lpad571
  %cleanup.is_active602 = load i1* %cleanup.cond570
  br i1 %cleanup.is_active602, label %cleanup.action603, label %cleanup.done604

cleanup.action603:                                ; preds = %ehcleanup601
  call void @_ZNSt6localeD1Ev(%"class.std::locale"* %ref.tmp563) nounwind
  br label %cleanup.done604

cleanup.done604:                                  ; preds = %cleanup.action603, %ehcleanup601
  br label %ehcleanup605

ehcleanup605:                                     ; preds = %cleanup.done604, %lpad568
  call void @_ZNSt6localeD1Ev(%"class.std::locale"* %ref.tmp555) nounwind
  br label %ehcleanup609

ehcleanup609:                                     ; preds = %ehcleanup605, %ehcleanup544, %invoke.cont506, %ehcleanup274, %ehcleanup213, %invoke.cont175, %ehcleanup75, %ehcleanup27, %lpad
  invoke void @_ZNSt18basic_stringstreamIcSt11char_traitsIcESaIcEED1Ev(%"class.std::basic_stringstream"* %ss)
          to label %invoke.cont610 unwind label %terminate.lpad

invoke.cont610:                                   ; preds = %ehcleanup609
  br label %eh.resume

eh.resume:                                        ; preds = %invoke.cont610
  %exn = load i8** %exn.slot
  %sel = load i32* %ehselector.slot
  %lpad.val = insertvalue { i8*, i32 } undef, i8* %exn, 0
  %lpad.val611 = insertvalue { i8*, i32 } %lpad.val, i32 %sel, 1
  resume { i8*, i32 } %lpad.val611

terminate.lpad:                                   ; preds = %ehcleanup609, %ehcleanup596, %lpad588, %ehcleanup541, %lpad533, %ehcleanup505, %ehcleanup491, %lpad483, %ehcleanup439, %lpad431, %ehcleanup375, %lpad367, %ehcleanup321, %lpad313, %ehcleanup265, %lpad257, %ehcleanup210, %lpad202, %ehcleanup174, %ehcleanup167, %lpad159, %ehcleanup119, %lpad111, %ehcleanup69, %lpad61, %ehcleanup, %lpad18
  %301 = landingpad { i8*, i32 } personality i8* bitcast (i32 (...)* @__gxx_personality_v0 to i8*)
          catch i8* null
  call void @_ZSt9terminatev() noreturn nounwind
  unreachable
}

declare void @_ZNSt6localeC1Ev(%"class.std::locale"*) nounwind

declare zeroext i1 @_ZNKSt6localeeqERKS_(%"class.std::locale"*, %"class.std::locale"*) nounwind

define linkonce_odr void @_ZNKSt8ios_base6getlocEv(%"class.std::locale"* noalias sret %agg.result, %"class.std::ios_base"* %this) nounwind align 2 {
entry:
  %this.addr = alloca %"class.std::ios_base"*, align 4
  store %"class.std::ios_base"* %this, %"class.std::ios_base"** %this.addr, align 4
  %this1 = load %"class.std::ios_base"** %this.addr
  %_M_ios_locale = getelementptr inbounds %"class.std::ios_base"* %this1, i32 0, i32 11
  call void @_ZNSt6localeC1ERKS_(%"class.std::locale"* %agg.result, %"class.std::locale"* %_M_ios_locale) nounwind
  ret void
}

declare void @_ZNSt6localeD1Ev(%"class.std::locale"*) nounwind

declare zeroext i1 @_ZSt9has_facetISt8numpunctIcEEbRKSt6locale(%"class.std::locale"*) nounwind

declare %"class.std::numpunct"* @_ZSt9use_facetISt8numpunctIcEERKT_RKSt6locale(%"class.std::locale"*)

declare i8* @__dynamic_cast(i8*, i8*, i8*, i32)

define linkonce_odr void @_ZN5boost2io22basic_ios_locale_saverIcSt11char_traitsIcEEC1ERSt9basic_iosIcS3_E(%"class.boost::io::basic_ios_locale_saver"* %this, %"class.std::basic_ios"* %s) unnamed_addr align 2 {
entry:
  %this.addr = alloca %"class.boost::io::basic_ios_locale_saver"*, align 4
  %s.addr = alloca %"class.std::basic_ios"*, align 4
  store %"class.boost::io::basic_ios_locale_saver"* %this, %"class.boost::io::basic_ios_locale_saver"** %this.addr, align 4
  store %"class.std::basic_ios"* %s, %"class.std::basic_ios"** %s.addr, align 4
  %this1 = load %"class.boost::io::basic_ios_locale_saver"** %this.addr
  %0 = load %"class.std::basic_ios"** %s.addr
  call void @_ZN5boost2io22basic_ios_locale_saverIcSt11char_traitsIcEEC2ERSt9basic_iosIcS3_E(%"class.boost::io::basic_ios_locale_saver"* %this1, %"class.std::basic_ios"* %0)
  ret void
}

declare void @_ZNSt9basic_iosIcSt11char_traitsIcEE5imbueERKSt6locale(%"class.std::locale"* sret, %"class.std::basic_ios"*, %"class.std::locale"*)

declare %"class.std::locale"* @_ZNSt6locale7classicEv()

define linkonce_odr void @_ZN5boost2io22basic_ios_locale_saverIcSt11char_traitsIcEED1Ev(%"class.boost::io::basic_ios_locale_saver"* %this) unnamed_addr align 2 {
entry:
  %this.addr = alloca %"class.boost::io::basic_ios_locale_saver"*, align 4
  store %"class.boost::io::basic_ios_locale_saver"* %this, %"class.boost::io::basic_ios_locale_saver"** %this.addr, align 4
  %this1 = load %"class.boost::io::basic_ios_locale_saver"** %this.addr
  call void @_ZN5boost2io22basic_ios_locale_saverIcSt11char_traitsIcEED2Ev(%"class.boost::io::basic_ios_locale_saver"* %this1)
  ret void
}

define linkonce_odr void @_ZN5boost2io22basic_ios_locale_saverIcSt11char_traitsIcEEC1ERSt9basic_iosIcS3_ERKSt6locale(%"class.boost::io::basic_ios_locale_saver"* %this, %"class.std::basic_ios"* %s, %"class.std::locale"* %a) unnamed_addr align 2 {
entry:
  %this.addr = alloca %"class.boost::io::basic_ios_locale_saver"*, align 4
  %s.addr = alloca %"class.std::basic_ios"*, align 4
  %a.addr = alloca %"class.std::locale"*, align 4
  store %"class.boost::io::basic_ios_locale_saver"* %this, %"class.boost::io::basic_ios_locale_saver"** %this.addr, align 4
  store %"class.std::basic_ios"* %s, %"class.std::basic_ios"** %s.addr, align 4
  store %"class.std::locale"* %a, %"class.std::locale"** %a.addr, align 4
  %this1 = load %"class.boost::io::basic_ios_locale_saver"** %this.addr
  %0 = load %"class.std::basic_ios"** %s.addr
  %1 = load %"class.std::locale"** %a.addr
  call void @_ZN5boost2io22basic_ios_locale_saverIcSt11char_traitsIcEEC2ERSt9basic_iosIcS3_ERKSt6locale(%"class.boost::io::basic_ios_locale_saver"* %this1, %"class.std::basic_ios"* %0, %"class.std::locale"* %1)
  ret void
}

define linkonce_odr void @_ZNSt6localeC1I19backward_bool_namesEERKS_PT_(%"class.std::locale"* %this, %"class.std::locale"* %__other, %class.backward_bool_names* %__f) unnamed_addr align 2 {
entry:
  %this.addr = alloca %"class.std::locale"*, align 4
  %__other.addr = alloca %"class.std::locale"*, align 4
  %__f.addr = alloca %class.backward_bool_names*, align 4
  store %"class.std::locale"* %this, %"class.std::locale"** %this.addr, align 4
  store %"class.std::locale"* %__other, %"class.std::locale"** %__other.addr, align 4
  store %class.backward_bool_names* %__f, %class.backward_bool_names** %__f.addr, align 4
  %this1 = load %"class.std::locale"** %this.addr
  %0 = load %class.backward_bool_names** %__f.addr, align 4
  %1 = load %"class.std::locale"** %__other.addr
  call void @_ZNSt6localeC2I19backward_bool_namesEERKS_PT_(%"class.std::locale"* %this1, %"class.std::locale"* %1, %class.backward_bool_names* %0)
  ret void
}

declare noalias i8* @_Znwj(i32)

define linkonce_odr void @_ZN19backward_bool_namesC1Ej(%class.backward_bool_names* %this, i32 %refs) unnamed_addr align 2 {
entry:
  %this.addr = alloca %class.backward_bool_names*, align 4
  %refs.addr = alloca i32, align 4
  store %class.backward_bool_names* %this, %class.backward_bool_names** %this.addr, align 4
  store i32 %refs, i32* %refs.addr, align 4
  %this1 = load %class.backward_bool_names** %this.addr
  %0 = load i32* %refs.addr, align 4
  call void @_ZN19backward_bool_namesC2Ej(%class.backward_bool_names* %this1, i32 %0)
  ret void
}

declare void @_ZdlPv(i8*) nounwind

define linkonce_odr zeroext i1 @_ZNKSt6localeneERKS_(%"class.std::locale"* %this, %"class.std::locale"* %__other) nounwind align 2 {
entry:
  %this.addr = alloca %"class.std::locale"*, align 4
  %__other.addr = alloca %"class.std::locale"*, align 4
  store %"class.std::locale"* %this, %"class.std::locale"** %this.addr, align 4
  store %"class.std::locale"* %__other, %"class.std::locale"** %__other.addr, align 4
  %this1 = load %"class.std::locale"** %this.addr
  %0 = load %"class.std::locale"** %__other.addr, align 4
  %call = call zeroext i1 @_ZNKSt6localeeqERKS_(%"class.std::locale"* %this1, %"class.std::locale"* %0) nounwind
  %lnot = xor i1 %call, true
  ret i1 %lnot
}

define void @_Z25ios_iword_saver_unit_testv() {
entry:
  %ss = alloca %"class.std::basic_stringstream", align 4
  %agg.tmp = alloca %"class.boost::unit_test::basic_cstring", align 4
  %exn.slot = alloca i8*
  %ehselector.slot = alloca i32
  %agg.tmp1 = alloca %"class.boost::unit_test::basic_cstring", align 4
  %agg.tmp4 = alloca %"struct.boost::test_tools::tt_detail::equal_impl_frwd", align 1
  %ref.tmp = alloca %"class.boost::unit_test::lazy_ostream_impl", align 4
  %agg.tmp8 = alloca %"class.boost::unit_test::basic_cstring", align 4
  %ref.tmp11 = alloca i32, align 4
  %iis = alloca %"class.boost::io::ios_iword_saver", align 4
  %agg.tmp24 = alloca %"class.boost::unit_test::basic_cstring", align 4
  %agg.tmp27 = alloca %"class.boost::unit_test::basic_cstring", align 4
  %agg.tmp30 = alloca %"struct.boost::test_tools::tt_detail::equal_impl_frwd", align 1
  %ref.tmp31 = alloca %"class.boost::unit_test::lazy_ostream_impl", align 4
  %agg.tmp35 = alloca %"class.boost::unit_test::basic_cstring", align 4
  %ref.tmp38 = alloca i32, align 4
  %agg.tmp59 = alloca %"class.boost::unit_test::basic_cstring", align 4
  %agg.tmp61 = alloca %"class.boost::unit_test::basic_cstring", align 4
  %agg.tmp64 = alloca %"struct.boost::test_tools::tt_detail::equal_impl_frwd", align 1
  %ref.tmp65 = alloca %"class.boost::unit_test::lazy_ostream_impl", align 4
  %agg.tmp69 = alloca %"class.boost::unit_test::basic_cstring", align 4
  %ref.tmp72 = alloca i32, align 4
  %agg.tmp89 = alloca %"class.boost::unit_test::basic_cstring", align 4
  %agg.tmp91 = alloca %"class.boost::unit_test::basic_cstring", align 4
  %agg.tmp94 = alloca %"struct.boost::test_tools::tt_detail::equal_impl_frwd", align 1
  %ref.tmp95 = alloca %"class.boost::unit_test::lazy_ostream_impl", align 4
  %agg.tmp99 = alloca %"class.boost::unit_test::basic_cstring", align 4
  %ref.tmp102 = alloca i32, align 4
  %iis117 = alloca %"class.boost::io::ios_iword_saver", align 4
  %ref.tmp122 = alloca i32, align 4
  %agg.tmp125 = alloca %"class.boost::unit_test::basic_cstring", align 4
  %agg.tmp128 = alloca %"class.boost::unit_test::basic_cstring", align 4
  %agg.tmp131 = alloca %"struct.boost::test_tools::tt_detail::equal_impl_frwd", align 1
  %ref.tmp132 = alloca %"class.boost::unit_test::lazy_ostream_impl", align 4
  %agg.tmp136 = alloca %"class.boost::unit_test::basic_cstring", align 4
  %ref.tmp139 = alloca i32, align 4
  %agg.tmp161 = alloca %"class.boost::unit_test::basic_cstring", align 4
  %agg.tmp163 = alloca %"class.boost::unit_test::basic_cstring", align 4
  %agg.tmp166 = alloca %"struct.boost::test_tools::tt_detail::equal_impl_frwd", align 1
  %ref.tmp167 = alloca %"class.boost::unit_test::lazy_ostream_impl", align 4
  %agg.tmp171 = alloca %"class.boost::unit_test::basic_cstring", align 4
  %ref.tmp174 = alloca i32, align 4
  %agg.tmp193 = alloca %"class.boost::unit_test::basic_cstring", align 4
  %agg.tmp195 = alloca %"class.boost::unit_test::basic_cstring", align 4
  %agg.tmp198 = alloca %"struct.boost::test_tools::tt_detail::equal_impl_frwd", align 1
  %ref.tmp199 = alloca %"class.boost::unit_test::lazy_ostream_impl", align 4
  %agg.tmp203 = alloca %"class.boost::unit_test::basic_cstring", align 4
  %ref.tmp206 = alloca i32, align 4
  %call = call i32 @_ZStorSt13_Ios_OpenmodeS_(i32 16, i32 8)
  call void @_ZNSt18basic_stringstreamIcSt11char_traitsIcESaIcEEC1ESt13_Ios_Openmode(%"class.std::basic_stringstream"* %ss, i32 %call)
  br label %do.body

do.body:                                          ; preds = %do.cond, %entry
  %0 = load %"class.boost::unit_test::unit_test_log_t"** @_ZN5boost9unit_test12_GLOBAL__N_113unit_test_logE, align 4
  invoke void @_ZN5boost9unit_test13basic_cstringIKcEC1EPS2_j(%"class.boost::unit_test::basic_cstring"* %agg.tmp, i8* getelementptr inbounds ([24 x i8]* @.str, i32 0, i32 0), i32 23)
          to label %invoke.cont unwind label %lpad

invoke.cont:                                      ; preds = %do.body
  invoke void @_ZN5boost9unit_test13basic_cstringIKcEC1Ev(%"class.boost::unit_test::basic_cstring"* %agg.tmp1)
          to label %invoke.cont2 unwind label %lpad

invoke.cont2:                                     ; preds = %invoke.cont
  invoke void @_ZN5boost9unit_test15unit_test_log_t14set_checkpointENS0_13basic_cstringIKcEEjS4_(%"class.boost::unit_test::unit_test_log_t"* %0, %"class.boost::unit_test::basic_cstring"* byval align 4 %agg.tmp, i32 429, %"class.boost::unit_test::basic_cstring"* byval align 4 %agg.tmp1)
          to label %invoke.cont3 unwind label %lpad

invoke.cont3:                                     ; preds = %invoke.cont2
  %call6 = invoke %"class.boost::unit_test::lazy_ostream"* @_ZN5boost9unit_test12lazy_ostream8instanceEv()
          to label %invoke.cont5 unwind label %lpad

invoke.cont5:                                     ; preds = %invoke.cont3
  invoke void @_ZN5boost9unit_testlsIA1_cEENS0_17lazy_ostream_implIRKT_EERKNS0_12lazy_ostreamES6_(%"class.boost::unit_test::lazy_ostream_impl"* sret %ref.tmp, %"class.boost::unit_test::lazy_ostream"* %call6, [1 x i8]* @.str3)
          to label %invoke.cont7 unwind label %lpad

invoke.cont7:                                     ; preds = %invoke.cont5
  %1 = bitcast %"class.boost::unit_test::lazy_ostream_impl"* %ref.tmp to %"class.boost::unit_test::lazy_ostream"*
  invoke void @_ZN5boost9unit_test13basic_cstringIKcEC1EPS2_j(%"class.boost::unit_test::basic_cstring"* %agg.tmp8, i8* getelementptr inbounds ([24 x i8]* @.str, i32 0, i32 0), i32 23)
          to label %invoke.cont10 unwind label %lpad9

invoke.cont10:                                    ; preds = %invoke.cont7
  store i32 0, i32* %ref.tmp11, align 4
  %2 = bitcast %"class.std::basic_stringstream"* %ss to i8**
  %vtable = load i8** %2
  %vbase.offset.ptr = getelementptr i8* %vtable, i64 -12
  %3 = bitcast i8* %vbase.offset.ptr to i32*
  %vbase.offset = load i32* %3
  %4 = bitcast %"class.std::basic_stringstream"* %ss to i8*
  %add.ptr = getelementptr inbounds i8* %4, i32 %vbase.offset
  %5 = bitcast i8* %add.ptr to %"class.std::ios_base"*
  %6 = load i32* @_ZL10word_index, align 4
  %call13 = invoke i32* @_ZNSt8ios_base5iwordEi(%"class.std::ios_base"* %5, i32 %6)
          to label %invoke.cont12 unwind label %lpad9

invoke.cont12:                                    ; preds = %invoke.cont10
  %call15 = invoke zeroext i1 @_ZN5boost10test_tools9tt_detail10check_frwdINS1_15equal_impl_frwdEilEEbT_RKNS_9unit_test12lazy_ostreamENS5_13basic_cstringIKcEEjNS1_10tool_levelENS1_10check_typeERKT0_PSA_RKT1_SH_(%"class.boost::unit_test::lazy_ostream"* %1, %"class.boost::unit_test::basic_cstring"* byval align 4 %agg.tmp8, i32 429, i32 1, i32 2, i32* %ref.tmp11, i8* getelementptr inbounds ([2 x i8]* @.str14, i32 0, i32 0), i32* %call13, i8* getelementptr inbounds ([21 x i8]* @.str53, i32 0, i32 0))
          to label %invoke.cont14 unwind label %lpad9

invoke.cont14:                                    ; preds = %invoke.cont12
  invoke void @_ZN5boost9unit_test17lazy_ostream_implIRA1_KcED1Ev(%"class.boost::unit_test::lazy_ostream_impl"* %ref.tmp)
          to label %invoke.cont16 unwind label %lpad

invoke.cont16:                                    ; preds = %invoke.cont14
  br label %do.cond

do.cond:                                          ; preds = %invoke.cont16
  %7 = load i8* @_ZN5boost10test_tools12_GLOBAL__N_110dummy_condE, align 1
  %tobool = trunc i8 %7 to i1
  br i1 %tobool, label %do.body, label %do.end

do.end:                                           ; preds = %do.cond
  %8 = bitcast %"class.std::basic_stringstream"* %ss to i8**
  %vtable18 = load i8** %8
  %vbase.offset.ptr19 = getelementptr i8* %vtable18, i64 -12
  %9 = bitcast i8* %vbase.offset.ptr19 to i32*
  %vbase.offset20 = load i32* %9
  %10 = bitcast %"class.std::basic_stringstream"* %ss to i8*
  %add.ptr21 = getelementptr inbounds i8* %10, i32 %vbase.offset20
  %11 = bitcast i8* %add.ptr21 to %"class.std::ios_base"*
  %12 = load i32* @_ZL10word_index, align 4
  invoke void @_ZN5boost2io15ios_iword_saverC1ERSt8ios_basei(%"class.boost::io::ios_iword_saver"* %iis, %"class.std::ios_base"* %11, i32 %12)
          to label %invoke.cont22 unwind label %lpad

invoke.cont22:                                    ; preds = %do.end
  br label %do.body23

do.body23:                                        ; preds = %do.cond49, %invoke.cont22
  %13 = load %"class.boost::unit_test::unit_test_log_t"** @_ZN5boost9unit_test12_GLOBAL__N_113unit_test_logE, align 4
  invoke void @_ZN5boost9unit_test13basic_cstringIKcEC1EPS2_j(%"class.boost::unit_test::basic_cstring"* %agg.tmp24, i8* getelementptr inbounds ([24 x i8]* @.str, i32 0, i32 0), i32 23)
          to label %invoke.cont26 unwind label %lpad25

invoke.cont26:                                    ; preds = %do.body23
  invoke void @_ZN5boost9unit_test13basic_cstringIKcEC1Ev(%"class.boost::unit_test::basic_cstring"* %agg.tmp27)
          to label %invoke.cont28 unwind label %lpad25

invoke.cont28:                                    ; preds = %invoke.cont26
  invoke void @_ZN5boost9unit_test15unit_test_log_t14set_checkpointENS0_13basic_cstringIKcEEjS4_(%"class.boost::unit_test::unit_test_log_t"* %13, %"class.boost::unit_test::basic_cstring"* byval align 4 %agg.tmp24, i32 434, %"class.boost::unit_test::basic_cstring"* byval align 4 %agg.tmp27)
          to label %invoke.cont29 unwind label %lpad25

invoke.cont29:                                    ; preds = %invoke.cont28
  %call33 = invoke %"class.boost::unit_test::lazy_ostream"* @_ZN5boost9unit_test12lazy_ostream8instanceEv()
          to label %invoke.cont32 unwind label %lpad25

invoke.cont32:                                    ; preds = %invoke.cont29
  invoke void @_ZN5boost9unit_testlsIA1_cEENS0_17lazy_ostream_implIRKT_EERKNS0_12lazy_ostreamES6_(%"class.boost::unit_test::lazy_ostream_impl"* sret %ref.tmp31, %"class.boost::unit_test::lazy_ostream"* %call33, [1 x i8]* @.str3)
          to label %invoke.cont34 unwind label %lpad25

invoke.cont34:                                    ; preds = %invoke.cont32
  %14 = bitcast %"class.boost::unit_test::lazy_ostream_impl"* %ref.tmp31 to %"class.boost::unit_test::lazy_ostream"*
  invoke void @_ZN5boost9unit_test13basic_cstringIKcEC1EPS2_j(%"class.boost::unit_test::basic_cstring"* %agg.tmp35, i8* getelementptr inbounds ([24 x i8]* @.str, i32 0, i32 0), i32 23)
          to label %invoke.cont37 unwind label %lpad36

invoke.cont37:                                    ; preds = %invoke.cont34
  store i32 0, i32* %ref.tmp38, align 4
  %15 = bitcast %"class.std::basic_stringstream"* %ss to i8**
  %vtable39 = load i8** %15
  %vbase.offset.ptr40 = getelementptr i8* %vtable39, i64 -12
  %16 = bitcast i8* %vbase.offset.ptr40 to i32*
  %vbase.offset41 = load i32* %16
  %17 = bitcast %"class.std::basic_stringstream"* %ss to i8*
  %add.ptr42 = getelementptr inbounds i8* %17, i32 %vbase.offset41
  %18 = bitcast i8* %add.ptr42 to %"class.std::ios_base"*
  %19 = load i32* @_ZL10word_index, align 4
  %call44 = invoke i32* @_ZNSt8ios_base5iwordEi(%"class.std::ios_base"* %18, i32 %19)
          to label %invoke.cont43 unwind label %lpad36

invoke.cont43:                                    ; preds = %invoke.cont37
  %call46 = invoke zeroext i1 @_ZN5boost10test_tools9tt_detail10check_frwdINS1_15equal_impl_frwdEilEEbT_RKNS_9unit_test12lazy_ostreamENS5_13basic_cstringIKcEEjNS1_10tool_levelENS1_10check_typeERKT0_PSA_RKT1_SH_(%"class.boost::unit_test::lazy_ostream"* %14, %"class.boost::unit_test::basic_cstring"* byval align 4 %agg.tmp35, i32 434, i32 1, i32 2, i32* %ref.tmp38, i8* getelementptr inbounds ([2 x i8]* @.str14, i32 0, i32 0), i32* %call44, i8* getelementptr inbounds ([21 x i8]* @.str53, i32 0, i32 0))
          to label %invoke.cont45 unwind label %lpad36

invoke.cont45:                                    ; preds = %invoke.cont43
  invoke void @_ZN5boost9unit_test17lazy_ostream_implIRA1_KcED1Ev(%"class.boost::unit_test::lazy_ostream_impl"* %ref.tmp31)
          to label %invoke.cont47 unwind label %lpad25

invoke.cont47:                                    ; preds = %invoke.cont45
  br label %do.cond49

do.cond49:                                        ; preds = %invoke.cont47
  %20 = load i8* @_ZN5boost10test_tools12_GLOBAL__N_110dummy_condE, align 1
  %tobool50 = trunc i8 %20 to i1
  br i1 %tobool50, label %do.body23, label %do.end51

do.end51:                                         ; preds = %do.cond49
  %21 = bitcast %"class.std::basic_stringstream"* %ss to i8**
  %vtable52 = load i8** %21
  %vbase.offset.ptr53 = getelementptr i8* %vtable52, i64 -12
  %22 = bitcast i8* %vbase.offset.ptr53 to i32*
  %vbase.offset54 = load i32* %22
  %23 = bitcast %"class.std::basic_stringstream"* %ss to i8*
  %add.ptr55 = getelementptr inbounds i8* %23, i32 %vbase.offset54
  %24 = bitcast i8* %add.ptr55 to %"class.std::ios_base"*
  %25 = load i32* @_ZL10word_index, align 4
  %call57 = invoke i32* @_ZNSt8ios_base5iwordEi(%"class.std::ios_base"* %24, i32 %25)
          to label %invoke.cont56 unwind label %lpad25

invoke.cont56:                                    ; preds = %do.end51
  store i32 6, i32* %call57
  br label %do.body58

do.body58:                                        ; preds = %do.cond83, %invoke.cont56
  %26 = load %"class.boost::unit_test::unit_test_log_t"** @_ZN5boost9unit_test12_GLOBAL__N_113unit_test_logE, align 4
  invoke void @_ZN5boost9unit_test13basic_cstringIKcEC1EPS2_j(%"class.boost::unit_test::basic_cstring"* %agg.tmp59, i8* getelementptr inbounds ([24 x i8]* @.str, i32 0, i32 0), i32 23)
          to label %invoke.cont60 unwind label %lpad25

invoke.cont60:                                    ; preds = %do.body58
  invoke void @_ZN5boost9unit_test13basic_cstringIKcEC1Ev(%"class.boost::unit_test::basic_cstring"* %agg.tmp61)
          to label %invoke.cont62 unwind label %lpad25

invoke.cont62:                                    ; preds = %invoke.cont60
  invoke void @_ZN5boost9unit_test15unit_test_log_t14set_checkpointENS0_13basic_cstringIKcEEjS4_(%"class.boost::unit_test::unit_test_log_t"* %26, %"class.boost::unit_test::basic_cstring"* byval align 4 %agg.tmp59, i32 437, %"class.boost::unit_test::basic_cstring"* byval align 4 %agg.tmp61)
          to label %invoke.cont63 unwind label %lpad25

invoke.cont63:                                    ; preds = %invoke.cont62
  %call67 = invoke %"class.boost::unit_test::lazy_ostream"* @_ZN5boost9unit_test12lazy_ostream8instanceEv()
          to label %invoke.cont66 unwind label %lpad25

invoke.cont66:                                    ; preds = %invoke.cont63
  invoke void @_ZN5boost9unit_testlsIA1_cEENS0_17lazy_ostream_implIRKT_EERKNS0_12lazy_ostreamES6_(%"class.boost::unit_test::lazy_ostream_impl"* sret %ref.tmp65, %"class.boost::unit_test::lazy_ostream"* %call67, [1 x i8]* @.str3)
          to label %invoke.cont68 unwind label %lpad25

invoke.cont68:                                    ; preds = %invoke.cont66
  %27 = bitcast %"class.boost::unit_test::lazy_ostream_impl"* %ref.tmp65 to %"class.boost::unit_test::lazy_ostream"*
  invoke void @_ZN5boost9unit_test13basic_cstringIKcEC1EPS2_j(%"class.boost::unit_test::basic_cstring"* %agg.tmp69, i8* getelementptr inbounds ([24 x i8]* @.str, i32 0, i32 0), i32 23)
          to label %invoke.cont71 unwind label %lpad70

invoke.cont71:                                    ; preds = %invoke.cont68
  store i32 6, i32* %ref.tmp72, align 4
  %28 = bitcast %"class.std::basic_stringstream"* %ss to i8**
  %vtable73 = load i8** %28
  %vbase.offset.ptr74 = getelementptr i8* %vtable73, i64 -12
  %29 = bitcast i8* %vbase.offset.ptr74 to i32*
  %vbase.offset75 = load i32* %29
  %30 = bitcast %"class.std::basic_stringstream"* %ss to i8*
  %add.ptr76 = getelementptr inbounds i8* %30, i32 %vbase.offset75
  %31 = bitcast i8* %add.ptr76 to %"class.std::ios_base"*
  %32 = load i32* @_ZL10word_index, align 4
  %call78 = invoke i32* @_ZNSt8ios_base5iwordEi(%"class.std::ios_base"* %31, i32 %32)
          to label %invoke.cont77 unwind label %lpad70

invoke.cont77:                                    ; preds = %invoke.cont71
  %call80 = invoke zeroext i1 @_ZN5boost10test_tools9tt_detail10check_frwdINS1_15equal_impl_frwdEilEEbT_RKNS_9unit_test12lazy_ostreamENS5_13basic_cstringIKcEEjNS1_10tool_levelENS1_10check_typeERKT0_PSA_RKT1_SH_(%"class.boost::unit_test::lazy_ostream"* %27, %"class.boost::unit_test::basic_cstring"* byval align 4 %agg.tmp69, i32 437, i32 1, i32 2, i32* %ref.tmp72, i8* getelementptr inbounds ([2 x i8]* @.str9, i32 0, i32 0), i32* %call78, i8* getelementptr inbounds ([21 x i8]* @.str53, i32 0, i32 0))
          to label %invoke.cont79 unwind label %lpad70

invoke.cont79:                                    ; preds = %invoke.cont77
  invoke void @_ZN5boost9unit_test17lazy_ostream_implIRA1_KcED1Ev(%"class.boost::unit_test::lazy_ostream_impl"* %ref.tmp65)
          to label %invoke.cont81 unwind label %lpad25

invoke.cont81:                                    ; preds = %invoke.cont79
  br label %do.cond83

do.cond83:                                        ; preds = %invoke.cont81
  %33 = load i8* @_ZN5boost10test_tools12_GLOBAL__N_110dummy_condE, align 1
  %tobool84 = trunc i8 %33 to i1
  br i1 %tobool84, label %do.body58, label %do.end85

do.end85:                                         ; preds = %do.cond83
  invoke void @_ZN5boost2io15ios_iword_saverD1Ev(%"class.boost::io::ios_iword_saver"* %iis)
          to label %invoke.cont86 unwind label %lpad

invoke.cont86:                                    ; preds = %do.end85
  br label %do.body88

do.body88:                                        ; preds = %do.cond114, %invoke.cont86
  %34 = load %"class.boost::unit_test::unit_test_log_t"** @_ZN5boost9unit_test12_GLOBAL__N_113unit_test_logE, align 4
  invoke void @_ZN5boost9unit_test13basic_cstringIKcEC1EPS2_j(%"class.boost::unit_test::basic_cstring"* %agg.tmp89, i8* getelementptr inbounds ([24 x i8]* @.str, i32 0, i32 0), i32 23)
          to label %invoke.cont90 unwind label %lpad

invoke.cont90:                                    ; preds = %do.body88
  invoke void @_ZN5boost9unit_test13basic_cstringIKcEC1Ev(%"class.boost::unit_test::basic_cstring"* %agg.tmp91)
          to label %invoke.cont92 unwind label %lpad

invoke.cont92:                                    ; preds = %invoke.cont90
  invoke void @_ZN5boost9unit_test15unit_test_log_t14set_checkpointENS0_13basic_cstringIKcEEjS4_(%"class.boost::unit_test::unit_test_log_t"* %34, %"class.boost::unit_test::basic_cstring"* byval align 4 %agg.tmp89, i32 440, %"class.boost::unit_test::basic_cstring"* byval align 4 %agg.tmp91)
          to label %invoke.cont93 unwind label %lpad

invoke.cont93:                                    ; preds = %invoke.cont92
  %call97 = invoke %"class.boost::unit_test::lazy_ostream"* @_ZN5boost9unit_test12lazy_ostream8instanceEv()
          to label %invoke.cont96 unwind label %lpad

invoke.cont96:                                    ; preds = %invoke.cont93
  invoke void @_ZN5boost9unit_testlsIA1_cEENS0_17lazy_ostream_implIRKT_EERKNS0_12lazy_ostreamES6_(%"class.boost::unit_test::lazy_ostream_impl"* sret %ref.tmp95, %"class.boost::unit_test::lazy_ostream"* %call97, [1 x i8]* @.str3)
          to label %invoke.cont98 unwind label %lpad

invoke.cont98:                                    ; preds = %invoke.cont96
  %35 = bitcast %"class.boost::unit_test::lazy_ostream_impl"* %ref.tmp95 to %"class.boost::unit_test::lazy_ostream"*
  invoke void @_ZN5boost9unit_test13basic_cstringIKcEC1EPS2_j(%"class.boost::unit_test::basic_cstring"* %agg.tmp99, i8* getelementptr inbounds ([24 x i8]* @.str, i32 0, i32 0), i32 23)
          to label %invoke.cont101 unwind label %lpad100

invoke.cont101:                                   ; preds = %invoke.cont98
  store i32 0, i32* %ref.tmp102, align 4
  %36 = bitcast %"class.std::basic_stringstream"* %ss to i8**
  %vtable103 = load i8** %36
  %vbase.offset.ptr104 = getelementptr i8* %vtable103, i64 -12
  %37 = bitcast i8* %vbase.offset.ptr104 to i32*
  %vbase.offset105 = load i32* %37
  %38 = bitcast %"class.std::basic_stringstream"* %ss to i8*
  %add.ptr106 = getelementptr inbounds i8* %38, i32 %vbase.offset105
  %39 = bitcast i8* %add.ptr106 to %"class.std::ios_base"*
  %40 = load i32* @_ZL10word_index, align 4
  %call108 = invoke i32* @_ZNSt8ios_base5iwordEi(%"class.std::ios_base"* %39, i32 %40)
          to label %invoke.cont107 unwind label %lpad100

invoke.cont107:                                   ; preds = %invoke.cont101
  %call110 = invoke zeroext i1 @_ZN5boost10test_tools9tt_detail10check_frwdINS1_15equal_impl_frwdEilEEbT_RKNS_9unit_test12lazy_ostreamENS5_13basic_cstringIKcEEjNS1_10tool_levelENS1_10check_typeERKT0_PSA_RKT1_SH_(%"class.boost::unit_test::lazy_ostream"* %35, %"class.boost::unit_test::basic_cstring"* byval align 4 %agg.tmp99, i32 440, i32 1, i32 2, i32* %ref.tmp102, i8* getelementptr inbounds ([2 x i8]* @.str14, i32 0, i32 0), i32* %call108, i8* getelementptr inbounds ([21 x i8]* @.str53, i32 0, i32 0))
          to label %invoke.cont109 unwind label %lpad100

invoke.cont109:                                   ; preds = %invoke.cont107
  invoke void @_ZN5boost9unit_test17lazy_ostream_implIRA1_KcED1Ev(%"class.boost::unit_test::lazy_ostream_impl"* %ref.tmp95)
          to label %invoke.cont111 unwind label %lpad

invoke.cont111:                                   ; preds = %invoke.cont109
  br label %do.cond114

do.cond114:                                       ; preds = %invoke.cont111
  %41 = load i8* @_ZN5boost10test_tools12_GLOBAL__N_110dummy_condE, align 1
  %tobool115 = trunc i8 %41 to i1
  br i1 %tobool115, label %do.body88, label %do.end116

do.end116:                                        ; preds = %do.cond114
  %42 = bitcast %"class.std::basic_stringstream"* %ss to i8**
  %vtable118 = load i8** %42
  %vbase.offset.ptr119 = getelementptr i8* %vtable118, i64 -12
  %43 = bitcast i8* %vbase.offset.ptr119 to i32*
  %vbase.offset120 = load i32* %43
  %44 = bitcast %"class.std::basic_stringstream"* %ss to i8*
  %add.ptr121 = getelementptr inbounds i8* %44, i32 %vbase.offset120
  %45 = bitcast i8* %add.ptr121 to %"class.std::ios_base"*
  %46 = load i32* @_ZL10word_index, align 4
  store i32 100, i32* %ref.tmp122, align 4
  invoke void @_ZN5boost2io15ios_iword_saverC1ERSt8ios_baseiRKl(%"class.boost::io::ios_iword_saver"* %iis117, %"class.std::ios_base"* %45, i32 %46, i32* %ref.tmp122)
          to label %invoke.cont123 unwind label %lpad

invoke.cont123:                                   ; preds = %do.end116
  br label %do.body124

do.body124:                                       ; preds = %do.cond151, %invoke.cont123
  %47 = load %"class.boost::unit_test::unit_test_log_t"** @_ZN5boost9unit_test12_GLOBAL__N_113unit_test_logE, align 4
  invoke void @_ZN5boost9unit_test13basic_cstringIKcEC1EPS2_j(%"class.boost::unit_test::basic_cstring"* %agg.tmp125, i8* getelementptr inbounds ([24 x i8]* @.str, i32 0, i32 0), i32 23)
          to label %invoke.cont127 unwind label %lpad126

invoke.cont127:                                   ; preds = %do.body124
  invoke void @_ZN5boost9unit_test13basic_cstringIKcEC1Ev(%"class.boost::unit_test::basic_cstring"* %agg.tmp128)
          to label %invoke.cont129 unwind label %lpad126

invoke.cont129:                                   ; preds = %invoke.cont127
  invoke void @_ZN5boost9unit_test15unit_test_log_t14set_checkpointENS0_13basic_cstringIKcEEjS4_(%"class.boost::unit_test::unit_test_log_t"* %47, %"class.boost::unit_test::basic_cstring"* byval align 4 %agg.tmp125, i32 445, %"class.boost::unit_test::basic_cstring"* byval align 4 %agg.tmp128)
          to label %invoke.cont130 unwind label %lpad126

invoke.cont130:                                   ; preds = %invoke.cont129
  %call134 = invoke %"class.boost::unit_test::lazy_ostream"* @_ZN5boost9unit_test12lazy_ostream8instanceEv()
          to label %invoke.cont133 unwind label %lpad126

invoke.cont133:                                   ; preds = %invoke.cont130
  invoke void @_ZN5boost9unit_testlsIA1_cEENS0_17lazy_ostream_implIRKT_EERKNS0_12lazy_ostreamES6_(%"class.boost::unit_test::lazy_ostream_impl"* sret %ref.tmp132, %"class.boost::unit_test::lazy_ostream"* %call134, [1 x i8]* @.str3)
          to label %invoke.cont135 unwind label %lpad126

invoke.cont135:                                   ; preds = %invoke.cont133
  %48 = bitcast %"class.boost::unit_test::lazy_ostream_impl"* %ref.tmp132 to %"class.boost::unit_test::lazy_ostream"*
  invoke void @_ZN5boost9unit_test13basic_cstringIKcEC1EPS2_j(%"class.boost::unit_test::basic_cstring"* %agg.tmp136, i8* getelementptr inbounds ([24 x i8]* @.str, i32 0, i32 0), i32 23)
          to label %invoke.cont138 unwind label %lpad137

invoke.cont138:                                   ; preds = %invoke.cont135
  store i32 100, i32* %ref.tmp139, align 4
  %49 = bitcast %"class.std::basic_stringstream"* %ss to i8**
  %vtable140 = load i8** %49
  %vbase.offset.ptr141 = getelementptr i8* %vtable140, i64 -12
  %50 = bitcast i8* %vbase.offset.ptr141 to i32*
  %vbase.offset142 = load i32* %50
  %51 = bitcast %"class.std::basic_stringstream"* %ss to i8*
  %add.ptr143 = getelementptr inbounds i8* %51, i32 %vbase.offset142
  %52 = bitcast i8* %add.ptr143 to %"class.std::ios_base"*
  %53 = load i32* @_ZL10word_index, align 4
  %call145 = invoke i32* @_ZNSt8ios_base5iwordEi(%"class.std::ios_base"* %52, i32 %53)
          to label %invoke.cont144 unwind label %lpad137

invoke.cont144:                                   ; preds = %invoke.cont138
  %call147 = invoke zeroext i1 @_ZN5boost10test_tools9tt_detail10check_frwdINS1_15equal_impl_frwdEilEEbT_RKNS_9unit_test12lazy_ostreamENS5_13basic_cstringIKcEEjNS1_10tool_levelENS1_10check_typeERKT0_PSA_RKT1_SH_(%"class.boost::unit_test::lazy_ostream"* %48, %"class.boost::unit_test::basic_cstring"* byval align 4 %agg.tmp136, i32 445, i32 1, i32 2, i32* %ref.tmp139, i8* getelementptr inbounds ([4 x i8]* @.str54, i32 0, i32 0), i32* %call145, i8* getelementptr inbounds ([21 x i8]* @.str53, i32 0, i32 0))
          to label %invoke.cont146 unwind label %lpad137

invoke.cont146:                                   ; preds = %invoke.cont144
  invoke void @_ZN5boost9unit_test17lazy_ostream_implIRA1_KcED1Ev(%"class.boost::unit_test::lazy_ostream_impl"* %ref.tmp132)
          to label %invoke.cont148 unwind label %lpad126

invoke.cont148:                                   ; preds = %invoke.cont146
  br label %do.cond151

do.cond151:                                       ; preds = %invoke.cont148
  %54 = load i8* @_ZN5boost10test_tools12_GLOBAL__N_110dummy_condE, align 1
  %tobool152 = trunc i8 %54 to i1
  br i1 %tobool152, label %do.body124, label %do.end153

do.end153:                                        ; preds = %do.cond151
  %55 = bitcast %"class.std::basic_stringstream"* %ss to i8**
  %vtable154 = load i8** %55
  %vbase.offset.ptr155 = getelementptr i8* %vtable154, i64 -12
  %56 = bitcast i8* %vbase.offset.ptr155 to i32*
  %vbase.offset156 = load i32* %56
  %57 = bitcast %"class.std::basic_stringstream"* %ss to i8*
  %add.ptr157 = getelementptr inbounds i8* %57, i32 %vbase.offset156
  %58 = bitcast i8* %add.ptr157 to %"class.std::ios_base"*
  %59 = load i32* @_ZL10word_index, align 4
  %call159 = invoke i32* @_ZNSt8ios_base5iwordEi(%"class.std::ios_base"* %58, i32 %59)
          to label %invoke.cont158 unwind label %lpad126

invoke.cont158:                                   ; preds = %do.end153
  store i32 -2000, i32* %call159
  br label %do.body160

do.body160:                                       ; preds = %do.cond186, %invoke.cont158
  %60 = load %"class.boost::unit_test::unit_test_log_t"** @_ZN5boost9unit_test12_GLOBAL__N_113unit_test_logE, align 4
  invoke void @_ZN5boost9unit_test13basic_cstringIKcEC1EPS2_j(%"class.boost::unit_test::basic_cstring"* %agg.tmp161, i8* getelementptr inbounds ([24 x i8]* @.str, i32 0, i32 0), i32 23)
          to label %invoke.cont162 unwind label %lpad126

invoke.cont162:                                   ; preds = %do.body160
  invoke void @_ZN5boost9unit_test13basic_cstringIKcEC1Ev(%"class.boost::unit_test::basic_cstring"* %agg.tmp163)
          to label %invoke.cont164 unwind label %lpad126

invoke.cont164:                                   ; preds = %invoke.cont162
  invoke void @_ZN5boost9unit_test15unit_test_log_t14set_checkpointENS0_13basic_cstringIKcEEjS4_(%"class.boost::unit_test::unit_test_log_t"* %60, %"class.boost::unit_test::basic_cstring"* byval align 4 %agg.tmp161, i32 448, %"class.boost::unit_test::basic_cstring"* byval align 4 %agg.tmp163)
          to label %invoke.cont165 unwind label %lpad126

invoke.cont165:                                   ; preds = %invoke.cont164
  %call169 = invoke %"class.boost::unit_test::lazy_ostream"* @_ZN5boost9unit_test12lazy_ostream8instanceEv()
          to label %invoke.cont168 unwind label %lpad126

invoke.cont168:                                   ; preds = %invoke.cont165
  invoke void @_ZN5boost9unit_testlsIA1_cEENS0_17lazy_ostream_implIRKT_EERKNS0_12lazy_ostreamES6_(%"class.boost::unit_test::lazy_ostream_impl"* sret %ref.tmp167, %"class.boost::unit_test::lazy_ostream"* %call169, [1 x i8]* @.str3)
          to label %invoke.cont170 unwind label %lpad126

invoke.cont170:                                   ; preds = %invoke.cont168
  %61 = bitcast %"class.boost::unit_test::lazy_ostream_impl"* %ref.tmp167 to %"class.boost::unit_test::lazy_ostream"*
  invoke void @_ZN5boost9unit_test13basic_cstringIKcEC1EPS2_j(%"class.boost::unit_test::basic_cstring"* %agg.tmp171, i8* getelementptr inbounds ([24 x i8]* @.str, i32 0, i32 0), i32 23)
          to label %invoke.cont173 unwind label %lpad172

invoke.cont173:                                   ; preds = %invoke.cont170
  store i32 -2000, i32* %ref.tmp174, align 4
  %62 = bitcast %"class.std::basic_stringstream"* %ss to i8**
  %vtable175 = load i8** %62
  %vbase.offset.ptr176 = getelementptr i8* %vtable175, i64 -12
  %63 = bitcast i8* %vbase.offset.ptr176 to i32*
  %vbase.offset177 = load i32* %63
  %64 = bitcast %"class.std::basic_stringstream"* %ss to i8*
  %add.ptr178 = getelementptr inbounds i8* %64, i32 %vbase.offset177
  %65 = bitcast i8* %add.ptr178 to %"class.std::ios_base"*
  %66 = load i32* @_ZL10word_index, align 4
  %call180 = invoke i32* @_ZNSt8ios_base5iwordEi(%"class.std::ios_base"* %65, i32 %66)
          to label %invoke.cont179 unwind label %lpad172

invoke.cont179:                                   ; preds = %invoke.cont173
  %call182 = invoke zeroext i1 @_ZN5boost10test_tools9tt_detail10check_frwdINS1_15equal_impl_frwdEilEEbT_RKNS_9unit_test12lazy_ostreamENS5_13basic_cstringIKcEEjNS1_10tool_levelENS1_10check_typeERKT0_PSA_RKT1_SH_(%"class.boost::unit_test::lazy_ostream"* %61, %"class.boost::unit_test::basic_cstring"* byval align 4 %agg.tmp171, i32 448, i32 1, i32 2, i32* %ref.tmp174, i8* getelementptr inbounds ([6 x i8]* @.str55, i32 0, i32 0), i32* %call180, i8* getelementptr inbounds ([21 x i8]* @.str53, i32 0, i32 0))
          to label %invoke.cont181 unwind label %lpad172

invoke.cont181:                                   ; preds = %invoke.cont179
  invoke void @_ZN5boost9unit_test17lazy_ostream_implIRA1_KcED1Ev(%"class.boost::unit_test::lazy_ostream_impl"* %ref.tmp167)
          to label %invoke.cont183 unwind label %lpad126

invoke.cont183:                                   ; preds = %invoke.cont181
  br label %do.cond186

do.cond186:                                       ; preds = %invoke.cont183
  %67 = load i8* @_ZN5boost10test_tools12_GLOBAL__N_110dummy_condE, align 1
  %tobool187 = trunc i8 %67 to i1
  br i1 %tobool187, label %do.body160, label %do.end188

do.end188:                                        ; preds = %do.cond186
  invoke void @_ZN5boost2io15ios_iword_saverD1Ev(%"class.boost::io::ios_iword_saver"* %iis117)
          to label %invoke.cont189 unwind label %lpad

invoke.cont189:                                   ; preds = %do.end188
  br label %do.body192

do.body192:                                       ; preds = %do.cond218, %invoke.cont189
  %68 = load %"class.boost::unit_test::unit_test_log_t"** @_ZN5boost9unit_test12_GLOBAL__N_113unit_test_logE, align 4
  invoke void @_ZN5boost9unit_test13basic_cstringIKcEC1EPS2_j(%"class.boost::unit_test::basic_cstring"* %agg.tmp193, i8* getelementptr inbounds ([24 x i8]* @.str, i32 0, i32 0), i32 23)
          to label %invoke.cont194 unwind label %lpad

invoke.cont194:                                   ; preds = %do.body192
  invoke void @_ZN5boost9unit_test13basic_cstringIKcEC1Ev(%"class.boost::unit_test::basic_cstring"* %agg.tmp195)
          to label %invoke.cont196 unwind label %lpad

invoke.cont196:                                   ; preds = %invoke.cont194
  invoke void @_ZN5boost9unit_test15unit_test_log_t14set_checkpointENS0_13basic_cstringIKcEEjS4_(%"class.boost::unit_test::unit_test_log_t"* %68, %"class.boost::unit_test::basic_cstring"* byval align 4 %agg.tmp193, i32 451, %"class.boost::unit_test::basic_cstring"* byval align 4 %agg.tmp195)
          to label %invoke.cont197 unwind label %lpad

invoke.cont197:                                   ; preds = %invoke.cont196
  %call201 = invoke %"class.boost::unit_test::lazy_ostream"* @_ZN5boost9unit_test12lazy_ostream8instanceEv()
          to label %invoke.cont200 unwind label %lpad

invoke.cont200:                                   ; preds = %invoke.cont197
  invoke void @_ZN5boost9unit_testlsIA1_cEENS0_17lazy_ostream_implIRKT_EERKNS0_12lazy_ostreamES6_(%"class.boost::unit_test::lazy_ostream_impl"* sret %ref.tmp199, %"class.boost::unit_test::lazy_ostream"* %call201, [1 x i8]* @.str3)
          to label %invoke.cont202 unwind label %lpad

invoke.cont202:                                   ; preds = %invoke.cont200
  %69 = bitcast %"class.boost::unit_test::lazy_ostream_impl"* %ref.tmp199 to %"class.boost::unit_test::lazy_ostream"*
  invoke void @_ZN5boost9unit_test13basic_cstringIKcEC1EPS2_j(%"class.boost::unit_test::basic_cstring"* %agg.tmp203, i8* getelementptr inbounds ([24 x i8]* @.str, i32 0, i32 0), i32 23)
          to label %invoke.cont205 unwind label %lpad204

invoke.cont205:                                   ; preds = %invoke.cont202
  store i32 0, i32* %ref.tmp206, align 4
  %70 = bitcast %"class.std::basic_stringstream"* %ss to i8**
  %vtable207 = load i8** %70
  %vbase.offset.ptr208 = getelementptr i8* %vtable207, i64 -12
  %71 = bitcast i8* %vbase.offset.ptr208 to i32*
  %vbase.offset209 = load i32* %71
  %72 = bitcast %"class.std::basic_stringstream"* %ss to i8*
  %add.ptr210 = getelementptr inbounds i8* %72, i32 %vbase.offset209
  %73 = bitcast i8* %add.ptr210 to %"class.std::ios_base"*
  %74 = load i32* @_ZL10word_index, align 4
  %call212 = invoke i32* @_ZNSt8ios_base5iwordEi(%"class.std::ios_base"* %73, i32 %74)
          to label %invoke.cont211 unwind label %lpad204

invoke.cont211:                                   ; preds = %invoke.cont205
  %call214 = invoke zeroext i1 @_ZN5boost10test_tools9tt_detail10check_frwdINS1_15equal_impl_frwdEilEEbT_RKNS_9unit_test12lazy_ostreamENS5_13basic_cstringIKcEEjNS1_10tool_levelENS1_10check_typeERKT0_PSA_RKT1_SH_(%"class.boost::unit_test::lazy_ostream"* %69, %"class.boost::unit_test::basic_cstring"* byval align 4 %agg.tmp203, i32 451, i32 1, i32 2, i32* %ref.tmp206, i8* getelementptr inbounds ([2 x i8]* @.str14, i32 0, i32 0), i32* %call212, i8* getelementptr inbounds ([21 x i8]* @.str53, i32 0, i32 0))
          to label %invoke.cont213 unwind label %lpad204

invoke.cont213:                                   ; preds = %invoke.cont211
  invoke void @_ZN5boost9unit_test17lazy_ostream_implIRA1_KcED1Ev(%"class.boost::unit_test::lazy_ostream_impl"* %ref.tmp199)
          to label %invoke.cont215 unwind label %lpad

invoke.cont215:                                   ; preds = %invoke.cont213
  br label %do.cond218

do.cond218:                                       ; preds = %invoke.cont215
  %75 = load i8* @_ZN5boost10test_tools12_GLOBAL__N_110dummy_condE, align 1
  %tobool219 = trunc i8 %75 to i1
  br i1 %tobool219, label %do.body192, label %do.end220

do.end220:                                        ; preds = %do.cond218
  call void @_ZNSt18basic_stringstreamIcSt11char_traitsIcESaIcEED1Ev(%"class.std::basic_stringstream"* %ss)
  ret void

lpad:                                             ; preds = %invoke.cont213, %invoke.cont200, %invoke.cont197, %invoke.cont196, %invoke.cont194, %do.body192, %do.end188, %do.end116, %invoke.cont109, %invoke.cont96, %invoke.cont93, %invoke.cont92, %invoke.cont90, %do.body88, %do.end85, %do.end, %invoke.cont14, %invoke.cont5, %invoke.cont3, %invoke.cont2, %invoke.cont, %do.body
  %76 = landingpad { i8*, i32 } personality i8* bitcast (i32 (...)* @__gxx_personality_v0 to i8*)
          cleanup
  %77 = extractvalue { i8*, i32 } %76, 0
  store i8* %77, i8** %exn.slot
  %78 = extractvalue { i8*, i32 } %76, 1
  store i32 %78, i32* %ehselector.slot
  br label %ehcleanup221

lpad9:                                            ; preds = %invoke.cont12, %invoke.cont10, %invoke.cont7
  %79 = landingpad { i8*, i32 } personality i8* bitcast (i32 (...)* @__gxx_personality_v0 to i8*)
          cleanup
  %80 = extractvalue { i8*, i32 } %79, 0
  store i8* %80, i8** %exn.slot
  %81 = extractvalue { i8*, i32 } %79, 1
  store i32 %81, i32* %ehselector.slot
  invoke void @_ZN5boost9unit_test17lazy_ostream_implIRA1_KcED1Ev(%"class.boost::unit_test::lazy_ostream_impl"* %ref.tmp)
          to label %invoke.cont17 unwind label %terminate.lpad

invoke.cont17:                                    ; preds = %lpad9
  br label %ehcleanup221

lpad25:                                           ; preds = %invoke.cont79, %invoke.cont66, %invoke.cont63, %invoke.cont62, %invoke.cont60, %do.body58, %do.end51, %invoke.cont45, %invoke.cont32, %invoke.cont29, %invoke.cont28, %invoke.cont26, %do.body23
  %82 = landingpad { i8*, i32 } personality i8* bitcast (i32 (...)* @__gxx_personality_v0 to i8*)
          cleanup
  %83 = extractvalue { i8*, i32 } %82, 0
  store i8* %83, i8** %exn.slot
  %84 = extractvalue { i8*, i32 } %82, 1
  store i32 %84, i32* %ehselector.slot
  br label %ehcleanup

lpad36:                                           ; preds = %invoke.cont43, %invoke.cont37, %invoke.cont34
  %85 = landingpad { i8*, i32 } personality i8* bitcast (i32 (...)* @__gxx_personality_v0 to i8*)
          cleanup
  %86 = extractvalue { i8*, i32 } %85, 0
  store i8* %86, i8** %exn.slot
  %87 = extractvalue { i8*, i32 } %85, 1
  store i32 %87, i32* %ehselector.slot
  invoke void @_ZN5boost9unit_test17lazy_ostream_implIRA1_KcED1Ev(%"class.boost::unit_test::lazy_ostream_impl"* %ref.tmp31)
          to label %invoke.cont48 unwind label %terminate.lpad

invoke.cont48:                                    ; preds = %lpad36
  br label %ehcleanup

lpad70:                                           ; preds = %invoke.cont77, %invoke.cont71, %invoke.cont68
  %88 = landingpad { i8*, i32 } personality i8* bitcast (i32 (...)* @__gxx_personality_v0 to i8*)
          cleanup
  %89 = extractvalue { i8*, i32 } %88, 0
  store i8* %89, i8** %exn.slot
  %90 = extractvalue { i8*, i32 } %88, 1
  store i32 %90, i32* %ehselector.slot
  invoke void @_ZN5boost9unit_test17lazy_ostream_implIRA1_KcED1Ev(%"class.boost::unit_test::lazy_ostream_impl"* %ref.tmp65)
          to label %invoke.cont82 unwind label %terminate.lpad

invoke.cont82:                                    ; preds = %lpad70
  br label %ehcleanup

ehcleanup:                                        ; preds = %invoke.cont82, %invoke.cont48, %lpad25
  invoke void @_ZN5boost2io15ios_iword_saverD1Ev(%"class.boost::io::ios_iword_saver"* %iis)
          to label %invoke.cont87 unwind label %terminate.lpad

invoke.cont87:                                    ; preds = %ehcleanup
  br label %ehcleanup221

lpad100:                                          ; preds = %invoke.cont107, %invoke.cont101, %invoke.cont98
  %91 = landingpad { i8*, i32 } personality i8* bitcast (i32 (...)* @__gxx_personality_v0 to i8*)
          cleanup
  %92 = extractvalue { i8*, i32 } %91, 0
  store i8* %92, i8** %exn.slot
  %93 = extractvalue { i8*, i32 } %91, 1
  store i32 %93, i32* %ehselector.slot
  invoke void @_ZN5boost9unit_test17lazy_ostream_implIRA1_KcED1Ev(%"class.boost::unit_test::lazy_ostream_impl"* %ref.tmp95)
          to label %invoke.cont113 unwind label %terminate.lpad

invoke.cont113:                                   ; preds = %lpad100
  br label %ehcleanup221

lpad126:                                          ; preds = %invoke.cont181, %invoke.cont168, %invoke.cont165, %invoke.cont164, %invoke.cont162, %do.body160, %do.end153, %invoke.cont146, %invoke.cont133, %invoke.cont130, %invoke.cont129, %invoke.cont127, %do.body124
  %94 = landingpad { i8*, i32 } personality i8* bitcast (i32 (...)* @__gxx_personality_v0 to i8*)
          cleanup
  %95 = extractvalue { i8*, i32 } %94, 0
  store i8* %95, i8** %exn.slot
  %96 = extractvalue { i8*, i32 } %94, 1
  store i32 %96, i32* %ehselector.slot
  br label %ehcleanup190

lpad137:                                          ; preds = %invoke.cont144, %invoke.cont138, %invoke.cont135
  %97 = landingpad { i8*, i32 } personality i8* bitcast (i32 (...)* @__gxx_personality_v0 to i8*)
          cleanup
  %98 = extractvalue { i8*, i32 } %97, 0
  store i8* %98, i8** %exn.slot
  %99 = extractvalue { i8*, i32 } %97, 1
  store i32 %99, i32* %ehselector.slot
  invoke void @_ZN5boost9unit_test17lazy_ostream_implIRA1_KcED1Ev(%"class.boost::unit_test::lazy_ostream_impl"* %ref.tmp132)
          to label %invoke.cont150 unwind label %terminate.lpad

invoke.cont150:                                   ; preds = %lpad137
  br label %ehcleanup190

lpad172:                                          ; preds = %invoke.cont179, %invoke.cont173, %invoke.cont170
  %100 = landingpad { i8*, i32 } personality i8* bitcast (i32 (...)* @__gxx_personality_v0 to i8*)
          cleanup
  %101 = extractvalue { i8*, i32 } %100, 0
  store i8* %101, i8** %exn.slot
  %102 = extractvalue { i8*, i32 } %100, 1
  store i32 %102, i32* %ehselector.slot
  invoke void @_ZN5boost9unit_test17lazy_ostream_implIRA1_KcED1Ev(%"class.boost::unit_test::lazy_ostream_impl"* %ref.tmp167)
          to label %invoke.cont185 unwind label %terminate.lpad

invoke.cont185:                                   ; preds = %lpad172
  br label %ehcleanup190

ehcleanup190:                                     ; preds = %invoke.cont185, %invoke.cont150, %lpad126
  invoke void @_ZN5boost2io15ios_iword_saverD1Ev(%"class.boost::io::ios_iword_saver"* %iis117)
          to label %invoke.cont191 unwind label %terminate.lpad

invoke.cont191:                                   ; preds = %ehcleanup190
  br label %ehcleanup221

lpad204:                                          ; preds = %invoke.cont211, %invoke.cont205, %invoke.cont202
  %103 = landingpad { i8*, i32 } personality i8* bitcast (i32 (...)* @__gxx_personality_v0 to i8*)
          cleanup
  %104 = extractvalue { i8*, i32 } %103, 0
  store i8* %104, i8** %exn.slot
  %105 = extractvalue { i8*, i32 } %103, 1
  store i32 %105, i32* %ehselector.slot
  invoke void @_ZN5boost9unit_test17lazy_ostream_implIRA1_KcED1Ev(%"class.boost::unit_test::lazy_ostream_impl"* %ref.tmp199)
          to label %invoke.cont217 unwind label %terminate.lpad

invoke.cont217:                                   ; preds = %lpad204
  br label %ehcleanup221

ehcleanup221:                                     ; preds = %invoke.cont217, %invoke.cont191, %invoke.cont113, %invoke.cont87, %invoke.cont17, %lpad
  invoke void @_ZNSt18basic_stringstreamIcSt11char_traitsIcESaIcEED1Ev(%"class.std::basic_stringstream"* %ss)
          to label %invoke.cont222 unwind label %terminate.lpad

invoke.cont222:                                   ; preds = %ehcleanup221
  br label %eh.resume

eh.resume:                                        ; preds = %invoke.cont222
  %exn = load i8** %exn.slot
  %sel = load i32* %ehselector.slot
  %lpad.val = insertvalue { i8*, i32 } undef, i8* %exn, 0
  %lpad.val223 = insertvalue { i8*, i32 } %lpad.val, i32 %sel, 1
  resume { i8*, i32 } %lpad.val223

terminate.lpad:                                   ; preds = %ehcleanup221, %lpad204, %ehcleanup190, %lpad172, %lpad137, %lpad100, %ehcleanup, %lpad70, %lpad36, %lpad9
  %106 = landingpad { i8*, i32 } personality i8* bitcast (i32 (...)* @__gxx_personality_v0 to i8*)
          catch i8* null
  call void @_ZSt9terminatev() noreturn nounwind
  unreachable
}

define linkonce_odr zeroext i1 @_ZN5boost10test_tools9tt_detail10check_frwdINS1_15equal_impl_frwdEilEEbT_RKNS_9unit_test12lazy_ostreamENS5_13basic_cstringIKcEEjNS1_10tool_levelENS1_10check_typeERKT0_PSA_RKT1_SH_(%"class.boost::unit_test::lazy_ostream"* %check_descr, %"class.boost::unit_test::basic_cstring"* byval align 4 %file_name, i32 %line_num, i32 %tl, i32 %ct, i32* %arg0, i8* %arg0_descr, i32* %arg1, i8* %arg1_descr) inlinehint {
entry:
  %P = alloca %"struct.boost::test_tools::tt_detail::equal_impl_frwd", align 1
  %check_descr.addr = alloca %"class.boost::unit_test::lazy_ostream"*, align 4
  %line_num.addr = alloca i32, align 4
  %tl.addr = alloca i32, align 4
  %ct.addr = alloca i32, align 4
  %arg0.addr = alloca i32*, align 4
  %arg0_descr.addr = alloca i8*, align 4
  %arg1.addr = alloca i32*, align 4
  %arg1_descr.addr = alloca i8*, align 4
  %ref.tmp = alloca %"class.boost::test_tools::predicate_result", align 4
  %agg.tmp = alloca %"class.boost::unit_test::basic_cstring", align 4
  %ref.tmp1 = alloca %"class.boost::unit_test::lazy_ostream_impl.33", align 4
  %exn.slot = alloca i8*
  %ehselector.slot = alloca i32
  %ref.tmp2 = alloca %"struct.boost::test_tools::tt_detail::print_helper_t.34", align 4
  %ref.tmp5 = alloca %"class.boost::unit_test::lazy_ostream_impl.35", align 4
  %ref.tmp9 = alloca %"struct.boost::test_tools::tt_detail::print_helper_t.36", align 4
  store %"class.boost::unit_test::lazy_ostream"* %check_descr, %"class.boost::unit_test::lazy_ostream"** %check_descr.addr, align 4
  store i32 %line_num, i32* %line_num.addr, align 4
  store i32 %tl, i32* %tl.addr, align 4
  store i32 %ct, i32* %ct.addr, align 4
  store i32* %arg0, i32** %arg0.addr, align 4
  store i8* %arg0_descr, i8** %arg0_descr.addr, align 4
  store i32* %arg1, i32** %arg1.addr, align 4
  store i8* %arg1_descr, i8** %arg1_descr.addr, align 4
  %0 = load i32** %arg0.addr, align 4
  %1 = load i32** %arg1.addr, align 4
  call void @_ZNK5boost10test_tools9tt_detail15equal_impl_frwdclIilEENS0_16predicate_resultERKT_RKT0_(%"class.boost::test_tools::predicate_result"* sret %ref.tmp, %"struct.boost::test_tools::tt_detail::equal_impl_frwd"* %P, i32* %0, i32* %1)
  %2 = load %"class.boost::unit_test::lazy_ostream"** %check_descr.addr, align 4
  %3 = bitcast %"class.boost::unit_test::basic_cstring"* %agg.tmp to i8*
  %4 = bitcast %"class.boost::unit_test::basic_cstring"* %file_name to i8*
  call void @llvm.memcpy.p0i8.p0i8.i32(i8* %3, i8* %4, i32 8, i32 4, i1 false)
  %5 = load i32* %line_num.addr, align 4
  %6 = load i32* %tl.addr, align 4
  %7 = load i32* %ct.addr, align 4
  %8 = load i8** %arg0_descr.addr, align 4
  %call = invoke %"class.boost::unit_test::lazy_ostream"* @_ZN5boost9unit_test12lazy_ostream8instanceEv()
          to label %invoke.cont unwind label %lpad

invoke.cont:                                      ; preds = %entry
  %9 = load i32** %arg0.addr, align 4
  invoke void @_ZN5boost10test_tools9tt_detail12print_helperIiEENS1_14print_helper_tIT_EERKS4_(%"struct.boost::test_tools::tt_detail::print_helper_t.34"* sret %ref.tmp2, i32* %9)
          to label %invoke.cont3 unwind label %lpad

invoke.cont3:                                     ; preds = %invoke.cont
  invoke void @_ZN5boost9unit_testlsINS_10test_tools9tt_detail14print_helper_tIiEEEENS0_17lazy_ostream_implIRKT_EERKNS0_12lazy_ostreamES9_(%"class.boost::unit_test::lazy_ostream_impl.33"* sret %ref.tmp1, %"class.boost::unit_test::lazy_ostream"* %call, %"struct.boost::test_tools::tt_detail::print_helper_t.34"* %ref.tmp2)
          to label %invoke.cont4 unwind label %lpad

invoke.cont4:                                     ; preds = %invoke.cont3
  %10 = bitcast %"class.boost::unit_test::lazy_ostream_impl.33"* %ref.tmp1 to %"class.boost::unit_test::lazy_ostream"*
  %11 = load i8** %arg1_descr.addr, align 4
  %call8 = invoke %"class.boost::unit_test::lazy_ostream"* @_ZN5boost9unit_test12lazy_ostream8instanceEv()
          to label %invoke.cont7 unwind label %lpad6

invoke.cont7:                                     ; preds = %invoke.cont4
  %12 = load i32** %arg1.addr, align 4
  invoke void @_ZN5boost10test_tools9tt_detail12print_helperIlEENS1_14print_helper_tIT_EERKS4_(%"struct.boost::test_tools::tt_detail::print_helper_t.36"* sret %ref.tmp9, i32* %12)
          to label %invoke.cont10 unwind label %lpad6

invoke.cont10:                                    ; preds = %invoke.cont7
  invoke void @_ZN5boost9unit_testlsINS_10test_tools9tt_detail14print_helper_tIlEEEENS0_17lazy_ostream_implIRKT_EERKNS0_12lazy_ostreamES9_(%"class.boost::unit_test::lazy_ostream_impl.35"* sret %ref.tmp5, %"class.boost::unit_test::lazy_ostream"* %call8, %"struct.boost::test_tools::tt_detail::print_helper_t.36"* %ref.tmp9)
          to label %invoke.cont11 unwind label %lpad6

invoke.cont11:                                    ; preds = %invoke.cont10
  %13 = bitcast %"class.boost::unit_test::lazy_ostream_impl.35"* %ref.tmp5 to %"class.boost::unit_test::lazy_ostream"*
  %call14 = invoke zeroext i1 (%"class.boost::test_tools::predicate_result"*, %"class.boost::unit_test::lazy_ostream"*, %"class.boost::unit_test::basic_cstring"*, i32, i32, i32, i32, ...)* @_ZN5boost10test_tools9tt_detail10check_implERKNS0_16predicate_resultERKNS_9unit_test12lazy_ostreamENS5_13basic_cstringIKcEEjNS1_10tool_levelENS1_10check_typeEjz(%"class.boost::test_tools::predicate_result"* %ref.tmp, %"class.boost::unit_test::lazy_ostream"* %2, %"class.boost::unit_test::basic_cstring"* byval align 4 %agg.tmp, i32 %5, i32 %6, i32 %7, i32 2, i8* %8, %"class.boost::unit_test::lazy_ostream"* %10, i8* %11, %"class.boost::unit_test::lazy_ostream"* %13)
          to label %invoke.cont13 unwind label %lpad12

invoke.cont13:                                    ; preds = %invoke.cont11
  invoke void @_ZN5boost9unit_test17lazy_ostream_implIRKNS_10test_tools9tt_detail14print_helper_tIlEEED1Ev(%"class.boost::unit_test::lazy_ostream_impl.35"* %ref.tmp5)
          to label %invoke.cont15 unwind label %lpad6

invoke.cont15:                                    ; preds = %invoke.cont13
  invoke void @_ZN5boost9unit_test17lazy_ostream_implIRKNS_10test_tools9tt_detail14print_helper_tIiEEED1Ev(%"class.boost::unit_test::lazy_ostream_impl.33"* %ref.tmp1)
          to label %invoke.cont17 unwind label %lpad

invoke.cont17:                                    ; preds = %invoke.cont15
  call void @_ZN5boost10test_tools16predicate_resultD1Ev(%"class.boost::test_tools::predicate_result"* %ref.tmp)
  ret i1 %call14

lpad:                                             ; preds = %invoke.cont15, %invoke.cont3, %invoke.cont, %entry
  %14 = landingpad { i8*, i32 } personality i8* bitcast (i32 (...)* @__gxx_personality_v0 to i8*)
          cleanup
  %15 = extractvalue { i8*, i32 } %14, 0
  store i8* %15, i8** %exn.slot
  %16 = extractvalue { i8*, i32 } %14, 1
  store i32 %16, i32* %ehselector.slot
  br label %ehcleanup19

lpad6:                                            ; preds = %invoke.cont13, %invoke.cont10, %invoke.cont7, %invoke.cont4
  %17 = landingpad { i8*, i32 } personality i8* bitcast (i32 (...)* @__gxx_personality_v0 to i8*)
          cleanup
  %18 = extractvalue { i8*, i32 } %17, 0
  store i8* %18, i8** %exn.slot
  %19 = extractvalue { i8*, i32 } %17, 1
  store i32 %19, i32* %ehselector.slot
  br label %ehcleanup

lpad12:                                           ; preds = %invoke.cont11
  %20 = landingpad { i8*, i32 } personality i8* bitcast (i32 (...)* @__gxx_personality_v0 to i8*)
          cleanup
  %21 = extractvalue { i8*, i32 } %20, 0
  store i8* %21, i8** %exn.slot
  %22 = extractvalue { i8*, i32 } %20, 1
  store i32 %22, i32* %ehselector.slot
  invoke void @_ZN5boost9unit_test17lazy_ostream_implIRKNS_10test_tools9tt_detail14print_helper_tIlEEED1Ev(%"class.boost::unit_test::lazy_ostream_impl.35"* %ref.tmp5)
          to label %invoke.cont16 unwind label %terminate.lpad

invoke.cont16:                                    ; preds = %lpad12
  br label %ehcleanup

ehcleanup:                                        ; preds = %invoke.cont16, %lpad6
  invoke void @_ZN5boost9unit_test17lazy_ostream_implIRKNS_10test_tools9tt_detail14print_helper_tIiEEED1Ev(%"class.boost::unit_test::lazy_ostream_impl.33"* %ref.tmp1)
          to label %invoke.cont18 unwind label %terminate.lpad

invoke.cont18:                                    ; preds = %ehcleanup
  br label %ehcleanup19

ehcleanup19:                                      ; preds = %invoke.cont18, %lpad
  invoke void @_ZN5boost10test_tools16predicate_resultD1Ev(%"class.boost::test_tools::predicate_result"* %ref.tmp)
          to label %invoke.cont20 unwind label %terminate.lpad

invoke.cont20:                                    ; preds = %ehcleanup19
  br label %eh.resume

eh.resume:                                        ; preds = %invoke.cont20
  %exn = load i8** %exn.slot
  %sel = load i32* %ehselector.slot
  %lpad.val = insertvalue { i8*, i32 } undef, i8* %exn, 0
  %lpad.val21 = insertvalue { i8*, i32 } %lpad.val, i32 %sel, 1
  resume { i8*, i32 } %lpad.val21

terminate.lpad:                                   ; preds = %ehcleanup19, %ehcleanup, %lpad12
  %23 = landingpad { i8*, i32 } personality i8* bitcast (i32 (...)* @__gxx_personality_v0 to i8*)
          catch i8* null
  call void @_ZSt9terminatev() noreturn nounwind
  unreachable
}

define linkonce_odr i32* @_ZNSt8ios_base5iwordEi(%"class.std::ios_base"* %this, i32 %__ix) align 2 {
entry:
  %this.addr = alloca %"class.std::ios_base"*, align 4
  %__ix.addr = alloca i32, align 4
  %__word = alloca %"struct.std::ios_base::_Words"*, align 4
  store %"class.std::ios_base"* %this, %"class.std::ios_base"** %this.addr, align 4
  store i32 %__ix, i32* %__ix.addr, align 4
  %this1 = load %"class.std::ios_base"** %this.addr
  %0 = load i32* %__ix.addr, align 4
  %_M_word_size = getelementptr inbounds %"class.std::ios_base"* %this1, i32 0, i32 9
  %1 = load i32* %_M_word_size, align 4
  %cmp = icmp slt i32 %0, %1
  br i1 %cmp, label %cond.true, label %cond.false

cond.true:                                        ; preds = %entry
  %2 = load i32* %__ix.addr, align 4
  %_M_word = getelementptr inbounds %"class.std::ios_base"* %this1, i32 0, i32 10
  %3 = load %"struct.std::ios_base::_Words"** %_M_word, align 4
  %arrayidx = getelementptr inbounds %"struct.std::ios_base::_Words"* %3, i32 %2
  br label %cond.end

cond.false:                                       ; preds = %entry
  %4 = load i32* %__ix.addr, align 4
  %call = call %"struct.std::ios_base::_Words"* @_ZNSt8ios_base13_M_grow_wordsEib(%"class.std::ios_base"* %this1, i32 %4, i1 zeroext true)
  br label %cond.end

cond.end:                                         ; preds = %cond.false, %cond.true
  %cond-lvalue = phi %"struct.std::ios_base::_Words"* [ %arrayidx, %cond.true ], [ %call, %cond.false ]
  store %"struct.std::ios_base::_Words"* %cond-lvalue, %"struct.std::ios_base::_Words"** %__word, align 4
  %5 = load %"struct.std::ios_base::_Words"** %__word, align 4
  %_M_iword = getelementptr inbounds %"struct.std::ios_base::_Words"* %5, i32 0, i32 1
  ret i32* %_M_iword
}

define linkonce_odr void @_ZN5boost2io15ios_iword_saverC1ERSt8ios_basei(%"class.boost::io::ios_iword_saver"* %this, %"class.std::ios_base"* %s, i32 %i) unnamed_addr align 2 {
entry:
  %this.addr = alloca %"class.boost::io::ios_iword_saver"*, align 4
  %s.addr = alloca %"class.std::ios_base"*, align 4
  %i.addr = alloca i32, align 4
  store %"class.boost::io::ios_iword_saver"* %this, %"class.boost::io::ios_iword_saver"** %this.addr, align 4
  store %"class.std::ios_base"* %s, %"class.std::ios_base"** %s.addr, align 4
  store i32 %i, i32* %i.addr, align 4
  %this1 = load %"class.boost::io::ios_iword_saver"** %this.addr
  %0 = load i32* %i.addr, align 4
  %1 = load %"class.std::ios_base"** %s.addr
  call void @_ZN5boost2io15ios_iword_saverC2ERSt8ios_basei(%"class.boost::io::ios_iword_saver"* %this1, %"class.std::ios_base"* %1, i32 %0)
  ret void
}

define linkonce_odr void @_ZN5boost2io15ios_iword_saverD1Ev(%"class.boost::io::ios_iword_saver"* %this) unnamed_addr align 2 {
entry:
  %this.addr = alloca %"class.boost::io::ios_iword_saver"*, align 4
  store %"class.boost::io::ios_iword_saver"* %this, %"class.boost::io::ios_iword_saver"** %this.addr, align 4
  %this1 = load %"class.boost::io::ios_iword_saver"** %this.addr
  call void @_ZN5boost2io15ios_iword_saverD2Ev(%"class.boost::io::ios_iword_saver"* %this1)
  ret void
}

define linkonce_odr void @_ZN5boost2io15ios_iword_saverC1ERSt8ios_baseiRKl(%"class.boost::io::ios_iword_saver"* %this, %"class.std::ios_base"* %s, i32 %i, i32* %a) unnamed_addr align 2 {
entry:
  %this.addr = alloca %"class.boost::io::ios_iword_saver"*, align 4
  %s.addr = alloca %"class.std::ios_base"*, align 4
  %i.addr = alloca i32, align 4
  %a.addr = alloca i32*, align 4
  store %"class.boost::io::ios_iword_saver"* %this, %"class.boost::io::ios_iword_saver"** %this.addr, align 4
  store %"class.std::ios_base"* %s, %"class.std::ios_base"** %s.addr, align 4
  store i32 %i, i32* %i.addr, align 4
  store i32* %a, i32** %a.addr, align 4
  %this1 = load %"class.boost::io::ios_iword_saver"** %this.addr
  %0 = load i32* %i.addr, align 4
  %1 = load i32** %a.addr
  %2 = load %"class.std::ios_base"** %s.addr
  call void @_ZN5boost2io15ios_iword_saverC2ERSt8ios_baseiRKl(%"class.boost::io::ios_iword_saver"* %this1, %"class.std::ios_base"* %2, i32 %0, i32* %1)
  ret void
}

define void @_Z25ios_pword_saver_unit_testv() {
entry:
  %ss = alloca %"class.std::basic_stringstream", align 4
  %agg.tmp = alloca %"class.boost::unit_test::basic_cstring", align 4
  %exn.slot = alloca i8*
  %ehselector.slot = alloca i32
  %agg.tmp1 = alloca %"class.boost::unit_test::basic_cstring", align 4
  %ref.tmp = alloca %"class.boost::test_tools::predicate_result", align 4
  %ref.tmp7 = alloca %"class.boost::unit_test::lazy_ostream_impl.0", align 4
  %ref.tmp11 = alloca %"class.boost::unit_test::basic_cstring", align 4
  %agg.tmp14 = alloca %"class.boost::unit_test::basic_cstring", align 4
  %ips = alloca %"class.boost::io::ios_pword_saver", align 4
  %agg.tmp29 = alloca %"class.boost::unit_test::basic_cstring", align 4
  %agg.tmp32 = alloca %"class.boost::unit_test::basic_cstring", align 4
  %ref.tmp35 = alloca %"class.boost::test_tools::predicate_result", align 4
  %ref.tmp44 = alloca %"class.boost::unit_test::lazy_ostream_impl.0", align 4
  %ref.tmp48 = alloca %"class.boost::unit_test::basic_cstring", align 4
  %agg.tmp51 = alloca %"class.boost::unit_test::basic_cstring", align 4
  %agg.tmp72 = alloca %"class.boost::unit_test::basic_cstring", align 4
  %agg.tmp74 = alloca %"class.boost::unit_test::basic_cstring", align 4
  %agg.tmp77 = alloca %"struct.boost::test_tools::tt_detail::equal_impl_frwd", align 1
  %ref.tmp78 = alloca %"class.boost::unit_test::lazy_ostream_impl", align 4
  %agg.tmp82 = alloca %"class.boost::unit_test::basic_cstring", align 4
  %ref.tmp85 = alloca %"class.std::basic_stringstream"*, align 4
  %agg.tmp104 = alloca %"class.boost::unit_test::basic_cstring", align 4
  %agg.tmp106 = alloca %"class.boost::unit_test::basic_cstring", align 4
  %ref.tmp109 = alloca %"class.boost::test_tools::predicate_result", align 4
  %ref.tmp118 = alloca %"class.boost::unit_test::lazy_ostream_impl.0", align 4
  %ref.tmp122 = alloca %"class.boost::unit_test::basic_cstring", align 4
  %agg.tmp125 = alloca %"class.boost::unit_test::basic_cstring", align 4
  %ips139 = alloca %"class.boost::io::ios_pword_saver", align 4
  %ref.tmp146 = alloca i8*, align 4
  %agg.tmp149 = alloca %"class.boost::unit_test::basic_cstring", align 4
  %agg.tmp152 = alloca %"class.boost::unit_test::basic_cstring", align 4
  %agg.tmp155 = alloca %"struct.boost::test_tools::tt_detail::equal_impl_frwd", align 1
  %ref.tmp156 = alloca %"class.boost::unit_test::lazy_ostream_impl", align 4
  %agg.tmp160 = alloca %"class.boost::unit_test::basic_cstring", align 4
  %ref.tmp165 = alloca %"class.std::basic_stringbuf"*, align 4
  %agg.tmp187 = alloca %"class.boost::unit_test::basic_cstring", align 4
  %agg.tmp189 = alloca %"class.boost::unit_test::basic_cstring", align 4
  %agg.tmp192 = alloca %"struct.boost::test_tools::tt_detail::equal_impl_frwd", align 1
  %ref.tmp193 = alloca %"class.boost::unit_test::lazy_ostream_impl", align 4
  %agg.tmp197 = alloca %"class.boost::unit_test::basic_cstring", align 4
  %ref.tmp200 = alloca %"class.std::basic_stringstream"*, align 4
  %agg.tmp219 = alloca %"class.boost::unit_test::basic_cstring", align 4
  %agg.tmp221 = alloca %"class.boost::unit_test::basic_cstring", align 4
  %ref.tmp224 = alloca %"class.boost::test_tools::predicate_result", align 4
  %ref.tmp233 = alloca %"class.boost::unit_test::lazy_ostream_impl.0", align 4
  %ref.tmp237 = alloca %"class.boost::unit_test::basic_cstring", align 4
  %agg.tmp240 = alloca %"class.boost::unit_test::basic_cstring", align 4
  %call = call i32 @_ZStorSt13_Ios_OpenmodeS_(i32 16, i32 8)
  call void @_ZNSt18basic_stringstreamIcSt11char_traitsIcESaIcEEC1ESt13_Ios_Openmode(%"class.std::basic_stringstream"* %ss, i32 %call)
  br label %do.body

do.body:                                          ; preds = %do.cond, %entry
  %0 = load %"class.boost::unit_test::unit_test_log_t"** @_ZN5boost9unit_test12_GLOBAL__N_113unit_test_logE, align 4
  invoke void @_ZN5boost9unit_test13basic_cstringIKcEC1EPS2_j(%"class.boost::unit_test::basic_cstring"* %agg.tmp, i8* getelementptr inbounds ([24 x i8]* @.str, i32 0, i32 0), i32 23)
          to label %invoke.cont unwind label %lpad

invoke.cont:                                      ; preds = %do.body
  invoke void @_ZN5boost9unit_test13basic_cstringIKcEC1Ev(%"class.boost::unit_test::basic_cstring"* %agg.tmp1)
          to label %invoke.cont2 unwind label %lpad

invoke.cont2:                                     ; preds = %invoke.cont
  invoke void @_ZN5boost9unit_test15unit_test_log_t14set_checkpointENS0_13basic_cstringIKcEEjS4_(%"class.boost::unit_test::unit_test_log_t"* %0, %"class.boost::unit_test::basic_cstring"* byval align 4 %agg.tmp, i32 464, %"class.boost::unit_test::basic_cstring"* byval align 4 %agg.tmp1)
          to label %invoke.cont3 unwind label %lpad

invoke.cont3:                                     ; preds = %invoke.cont2
  %1 = bitcast %"class.std::basic_stringstream"* %ss to i8**
  %vtable = load i8** %1
  %vbase.offset.ptr = getelementptr i8* %vtable, i64 -12
  %2 = bitcast i8* %vbase.offset.ptr to i32*
  %vbase.offset = load i32* %2
  %3 = bitcast %"class.std::basic_stringstream"* %ss to i8*
  %add.ptr = getelementptr inbounds i8* %3, i32 %vbase.offset
  %4 = bitcast i8* %add.ptr to %"class.std::ios_base"*
  %5 = load i32* @_ZL10word_index, align 4
  %call5 = invoke i8** @_ZNSt8ios_base5pwordEi(%"class.std::ios_base"* %4, i32 %5)
          to label %invoke.cont4 unwind label %lpad

invoke.cont4:                                     ; preds = %invoke.cont3
  %6 = load i8** %call5
  %cmp = icmp eq i8* null, %6
  invoke void @_ZN5boost10test_tools16predicate_resultC1Eb(%"class.boost::test_tools::predicate_result"* %ref.tmp, i1 zeroext %cmp)
          to label %invoke.cont6 unwind label %lpad

invoke.cont6:                                     ; preds = %invoke.cont4
  %call10 = invoke %"class.boost::unit_test::lazy_ostream"* @_ZN5boost9unit_test12lazy_ostream8instanceEv()
          to label %invoke.cont9 unwind label %lpad8

invoke.cont9:                                     ; preds = %invoke.cont6
  invoke void @_ZN5boost9unit_test13basic_cstringIKcEC1EPS2_j(%"class.boost::unit_test::basic_cstring"* %ref.tmp11, i8* getelementptr inbounds ([31 x i8]* @.str56, i32 0, i32 0), i32 30)
          to label %invoke.cont12 unwind label %lpad8

invoke.cont12:                                    ; preds = %invoke.cont9
  invoke void @_ZN5boost9unit_testlsINS0_13basic_cstringIKcEEEENS0_17lazy_ostream_implIRKT_EERKNS0_12lazy_ostreamES8_(%"class.boost::unit_test::lazy_ostream_impl.0"* sret %ref.tmp7, %"class.boost::unit_test::lazy_ostream"* %call10, %"class.boost::unit_test::basic_cstring"* %ref.tmp11)
          to label %invoke.cont13 unwind label %lpad8

invoke.cont13:                                    ; preds = %invoke.cont12
  %7 = bitcast %"class.boost::unit_test::lazy_ostream_impl.0"* %ref.tmp7 to %"class.boost::unit_test::lazy_ostream"*
  invoke void @_ZN5boost9unit_test13basic_cstringIKcEC1EPS2_j(%"class.boost::unit_test::basic_cstring"* %agg.tmp14, i8* getelementptr inbounds ([24 x i8]* @.str, i32 0, i32 0), i32 23)
          to label %invoke.cont16 unwind label %lpad15

invoke.cont16:                                    ; preds = %invoke.cont13
  %call18 = invoke zeroext i1 (%"class.boost::test_tools::predicate_result"*, %"class.boost::unit_test::lazy_ostream"*, %"class.boost::unit_test::basic_cstring"*, i32, i32, i32, i32, ...)* @_ZN5boost10test_tools9tt_detail10check_implERKNS0_16predicate_resultERKNS_9unit_test12lazy_ostreamENS5_13basic_cstringIKcEEjNS1_10tool_levelENS1_10check_typeEjz(%"class.boost::test_tools::predicate_result"* %ref.tmp, %"class.boost::unit_test::lazy_ostream"* %7, %"class.boost::unit_test::basic_cstring"* byval align 4 %agg.tmp14, i32 464, i32 1, i32 0, i32 0)
          to label %invoke.cont17 unwind label %lpad15

invoke.cont17:                                    ; preds = %invoke.cont16
  invoke void @_ZN5boost9unit_test17lazy_ostream_implIRKNS0_13basic_cstringIKcEEED1Ev(%"class.boost::unit_test::lazy_ostream_impl.0"* %ref.tmp7)
          to label %invoke.cont19 unwind label %lpad8

invoke.cont19:                                    ; preds = %invoke.cont17
  invoke void @_ZN5boost10test_tools16predicate_resultD1Ev(%"class.boost::test_tools::predicate_result"* %ref.tmp)
          to label %invoke.cont21 unwind label %lpad

invoke.cont21:                                    ; preds = %invoke.cont19
  br label %do.cond

do.cond:                                          ; preds = %invoke.cont21
  %8 = load i8* @_ZN5boost10test_tools12_GLOBAL__N_110dummy_condE, align 1
  %tobool = trunc i8 %8 to i1
  br i1 %tobool, label %do.body, label %do.end

do.end:                                           ; preds = %do.cond
  %9 = bitcast %"class.std::basic_stringstream"* %ss to i8**
  %vtable23 = load i8** %9
  %vbase.offset.ptr24 = getelementptr i8* %vtable23, i64 -12
  %10 = bitcast i8* %vbase.offset.ptr24 to i32*
  %vbase.offset25 = load i32* %10
  %11 = bitcast %"class.std::basic_stringstream"* %ss to i8*
  %add.ptr26 = getelementptr inbounds i8* %11, i32 %vbase.offset25
  %12 = bitcast i8* %add.ptr26 to %"class.std::ios_base"*
  %13 = load i32* @_ZL10word_index, align 4
  invoke void @_ZN5boost2io15ios_pword_saverC1ERSt8ios_basei(%"class.boost::io::ios_pword_saver"* %ips, %"class.std::ios_base"* %12, i32 %13)
          to label %invoke.cont27 unwind label %lpad

invoke.cont27:                                    ; preds = %do.end
  br label %do.body28

do.body28:                                        ; preds = %do.cond62, %invoke.cont27
  %14 = load %"class.boost::unit_test::unit_test_log_t"** @_ZN5boost9unit_test12_GLOBAL__N_113unit_test_logE, align 4
  invoke void @_ZN5boost9unit_test13basic_cstringIKcEC1EPS2_j(%"class.boost::unit_test::basic_cstring"* %agg.tmp29, i8* getelementptr inbounds ([24 x i8]* @.str, i32 0, i32 0), i32 23)
          to label %invoke.cont31 unwind label %lpad30

invoke.cont31:                                    ; preds = %do.body28
  invoke void @_ZN5boost9unit_test13basic_cstringIKcEC1Ev(%"class.boost::unit_test::basic_cstring"* %agg.tmp32)
          to label %invoke.cont33 unwind label %lpad30

invoke.cont33:                                    ; preds = %invoke.cont31
  invoke void @_ZN5boost9unit_test15unit_test_log_t14set_checkpointENS0_13basic_cstringIKcEEjS4_(%"class.boost::unit_test::unit_test_log_t"* %14, %"class.boost::unit_test::basic_cstring"* byval align 4 %agg.tmp29, i32 469, %"class.boost::unit_test::basic_cstring"* byval align 4 %agg.tmp32)
          to label %invoke.cont34 unwind label %lpad30

invoke.cont34:                                    ; preds = %invoke.cont33
  %15 = bitcast %"class.std::basic_stringstream"* %ss to i8**
  %vtable36 = load i8** %15
  %vbase.offset.ptr37 = getelementptr i8* %vtable36, i64 -12
  %16 = bitcast i8* %vbase.offset.ptr37 to i32*
  %vbase.offset38 = load i32* %16
  %17 = bitcast %"class.std::basic_stringstream"* %ss to i8*
  %add.ptr39 = getelementptr inbounds i8* %17, i32 %vbase.offset38
  %18 = bitcast i8* %add.ptr39 to %"class.std::ios_base"*
  %19 = load i32* @_ZL10word_index, align 4
  %call41 = invoke i8** @_ZNSt8ios_base5pwordEi(%"class.std::ios_base"* %18, i32 %19)
          to label %invoke.cont40 unwind label %lpad30

invoke.cont40:                                    ; preds = %invoke.cont34
  %20 = load i8** %call41
  %cmp42 = icmp eq i8* null, %20
  invoke void @_ZN5boost10test_tools16predicate_resultC1Eb(%"class.boost::test_tools::predicate_result"* %ref.tmp35, i1 zeroext %cmp42)
          to label %invoke.cont43 unwind label %lpad30

invoke.cont43:                                    ; preds = %invoke.cont40
  %call47 = invoke %"class.boost::unit_test::lazy_ostream"* @_ZN5boost9unit_test12lazy_ostream8instanceEv()
          to label %invoke.cont46 unwind label %lpad45

invoke.cont46:                                    ; preds = %invoke.cont43
  invoke void @_ZN5boost9unit_test13basic_cstringIKcEC1EPS2_j(%"class.boost::unit_test::basic_cstring"* %ref.tmp48, i8* getelementptr inbounds ([31 x i8]* @.str56, i32 0, i32 0), i32 30)
          to label %invoke.cont49 unwind label %lpad45

invoke.cont49:                                    ; preds = %invoke.cont46
  invoke void @_ZN5boost9unit_testlsINS0_13basic_cstringIKcEEEENS0_17lazy_ostream_implIRKT_EERKNS0_12lazy_ostreamES8_(%"class.boost::unit_test::lazy_ostream_impl.0"* sret %ref.tmp44, %"class.boost::unit_test::lazy_ostream"* %call47, %"class.boost::unit_test::basic_cstring"* %ref.tmp48)
          to label %invoke.cont50 unwind label %lpad45

invoke.cont50:                                    ; preds = %invoke.cont49
  %21 = bitcast %"class.boost::unit_test::lazy_ostream_impl.0"* %ref.tmp44 to %"class.boost::unit_test::lazy_ostream"*
  invoke void @_ZN5boost9unit_test13basic_cstringIKcEC1EPS2_j(%"class.boost::unit_test::basic_cstring"* %agg.tmp51, i8* getelementptr inbounds ([24 x i8]* @.str, i32 0, i32 0), i32 23)
          to label %invoke.cont53 unwind label %lpad52

invoke.cont53:                                    ; preds = %invoke.cont50
  %call55 = invoke zeroext i1 (%"class.boost::test_tools::predicate_result"*, %"class.boost::unit_test::lazy_ostream"*, %"class.boost::unit_test::basic_cstring"*, i32, i32, i32, i32, ...)* @_ZN5boost10test_tools9tt_detail10check_implERKNS0_16predicate_resultERKNS_9unit_test12lazy_ostreamENS5_13basic_cstringIKcEEjNS1_10tool_levelENS1_10check_typeEjz(%"class.boost::test_tools::predicate_result"* %ref.tmp35, %"class.boost::unit_test::lazy_ostream"* %21, %"class.boost::unit_test::basic_cstring"* byval align 4 %agg.tmp51, i32 469, i32 1, i32 0, i32 0)
          to label %invoke.cont54 unwind label %lpad52

invoke.cont54:                                    ; preds = %invoke.cont53
  invoke void @_ZN5boost9unit_test17lazy_ostream_implIRKNS0_13basic_cstringIKcEEED1Ev(%"class.boost::unit_test::lazy_ostream_impl.0"* %ref.tmp44)
          to label %invoke.cont56 unwind label %lpad45

invoke.cont56:                                    ; preds = %invoke.cont54
  invoke void @_ZN5boost10test_tools16predicate_resultD1Ev(%"class.boost::test_tools::predicate_result"* %ref.tmp35)
          to label %invoke.cont59 unwind label %lpad30

invoke.cont59:                                    ; preds = %invoke.cont56
  br label %do.cond62

do.cond62:                                        ; preds = %invoke.cont59
  %22 = load i8* @_ZN5boost10test_tools12_GLOBAL__N_110dummy_condE, align 1
  %tobool63 = trunc i8 %22 to i1
  br i1 %tobool63, label %do.body28, label %do.end64

do.end64:                                         ; preds = %do.cond62
  %23 = bitcast %"class.std::basic_stringstream"* %ss to i8*
  %24 = bitcast %"class.std::basic_stringstream"* %ss to i8**
  %vtable65 = load i8** %24
  %vbase.offset.ptr66 = getelementptr i8* %vtable65, i64 -12
  %25 = bitcast i8* %vbase.offset.ptr66 to i32*
  %vbase.offset67 = load i32* %25
  %26 = bitcast %"class.std::basic_stringstream"* %ss to i8*
  %add.ptr68 = getelementptr inbounds i8* %26, i32 %vbase.offset67
  %27 = bitcast i8* %add.ptr68 to %"class.std::ios_base"*
  %28 = load i32* @_ZL10word_index, align 4
  %call70 = invoke i8** @_ZNSt8ios_base5pwordEi(%"class.std::ios_base"* %27, i32 %28)
          to label %invoke.cont69 unwind label %lpad30

invoke.cont69:                                    ; preds = %do.end64
  store i8* %23, i8** %call70
  br label %do.body71

do.body71:                                        ; preds = %do.cond97, %invoke.cont69
  %29 = load %"class.boost::unit_test::unit_test_log_t"** @_ZN5boost9unit_test12_GLOBAL__N_113unit_test_logE, align 4
  invoke void @_ZN5boost9unit_test13basic_cstringIKcEC1EPS2_j(%"class.boost::unit_test::basic_cstring"* %agg.tmp72, i8* getelementptr inbounds ([24 x i8]* @.str, i32 0, i32 0), i32 23)
          to label %invoke.cont73 unwind label %lpad30

invoke.cont73:                                    ; preds = %do.body71
  invoke void @_ZN5boost9unit_test13basic_cstringIKcEC1Ev(%"class.boost::unit_test::basic_cstring"* %agg.tmp74)
          to label %invoke.cont75 unwind label %lpad30

invoke.cont75:                                    ; preds = %invoke.cont73
  invoke void @_ZN5boost9unit_test15unit_test_log_t14set_checkpointENS0_13basic_cstringIKcEEjS4_(%"class.boost::unit_test::unit_test_log_t"* %29, %"class.boost::unit_test::basic_cstring"* byval align 4 %agg.tmp72, i32 472, %"class.boost::unit_test::basic_cstring"* byval align 4 %agg.tmp74)
          to label %invoke.cont76 unwind label %lpad30

invoke.cont76:                                    ; preds = %invoke.cont75
  %call80 = invoke %"class.boost::unit_test::lazy_ostream"* @_ZN5boost9unit_test12lazy_ostream8instanceEv()
          to label %invoke.cont79 unwind label %lpad30

invoke.cont79:                                    ; preds = %invoke.cont76
  invoke void @_ZN5boost9unit_testlsIA1_cEENS0_17lazy_ostream_implIRKT_EERKNS0_12lazy_ostreamES6_(%"class.boost::unit_test::lazy_ostream_impl"* sret %ref.tmp78, %"class.boost::unit_test::lazy_ostream"* %call80, [1 x i8]* @.str3)
          to label %invoke.cont81 unwind label %lpad30

invoke.cont81:                                    ; preds = %invoke.cont79
  %30 = bitcast %"class.boost::unit_test::lazy_ostream_impl"* %ref.tmp78 to %"class.boost::unit_test::lazy_ostream"*
  invoke void @_ZN5boost9unit_test13basic_cstringIKcEC1EPS2_j(%"class.boost::unit_test::basic_cstring"* %agg.tmp82, i8* getelementptr inbounds ([24 x i8]* @.str, i32 0, i32 0), i32 23)
          to label %invoke.cont84 unwind label %lpad83

invoke.cont84:                                    ; preds = %invoke.cont81
  store %"class.std::basic_stringstream"* %ss, %"class.std::basic_stringstream"** %ref.tmp85, align 4
  %31 = bitcast %"class.std::basic_stringstream"* %ss to i8**
  %vtable86 = load i8** %31
  %vbase.offset.ptr87 = getelementptr i8* %vtable86, i64 -12
  %32 = bitcast i8* %vbase.offset.ptr87 to i32*
  %vbase.offset88 = load i32* %32
  %33 = bitcast %"class.std::basic_stringstream"* %ss to i8*
  %add.ptr89 = getelementptr inbounds i8* %33, i32 %vbase.offset88
  %34 = bitcast i8* %add.ptr89 to %"class.std::ios_base"*
  %35 = load i32* @_ZL10word_index, align 4
  %call91 = invoke i8** @_ZNSt8ios_base5pwordEi(%"class.std::ios_base"* %34, i32 %35)
          to label %invoke.cont90 unwind label %lpad83

invoke.cont90:                                    ; preds = %invoke.cont84
  %call93 = invoke zeroext i1 @_ZN5boost10test_tools9tt_detail10check_frwdINS1_15equal_impl_frwdEPSt18basic_stringstreamIcSt11char_traitsIcESaIcEEPvEEbT_RKNS_9unit_test12lazy_ostreamENSC_13basic_cstringIKcEEjNS1_10tool_levelENS1_10check_typeERKT0_PSH_RKT1_SO_(%"class.boost::unit_test::lazy_ostream"* %30, %"class.boost::unit_test::basic_cstring"* byval align 4 %agg.tmp82, i32 472, i32 1, i32 2, %"class.std::basic_stringstream"** %ref.tmp85, i8* getelementptr inbounds ([4 x i8]* @.str57, i32 0, i32 0), i8** %call91, i8* getelementptr inbounds ([21 x i8]* @.str58, i32 0, i32 0))
          to label %invoke.cont92 unwind label %lpad83

invoke.cont92:                                    ; preds = %invoke.cont90
  invoke void @_ZN5boost9unit_test17lazy_ostream_implIRA1_KcED1Ev(%"class.boost::unit_test::lazy_ostream_impl"* %ref.tmp78)
          to label %invoke.cont94 unwind label %lpad30

invoke.cont94:                                    ; preds = %invoke.cont92
  br label %do.cond97

do.cond97:                                        ; preds = %invoke.cont94
  %36 = load i8* @_ZN5boost10test_tools12_GLOBAL__N_110dummy_condE, align 1
  %tobool98 = trunc i8 %36 to i1
  br i1 %tobool98, label %do.body71, label %do.end99

do.end99:                                         ; preds = %do.cond97
  invoke void @_ZN5boost2io15ios_pword_saverD1Ev(%"class.boost::io::ios_pword_saver"* %ips)
          to label %invoke.cont100 unwind label %lpad

invoke.cont100:                                   ; preds = %do.end99
  br label %do.body103

do.body103:                                       ; preds = %do.cond136, %invoke.cont100
  %37 = load %"class.boost::unit_test::unit_test_log_t"** @_ZN5boost9unit_test12_GLOBAL__N_113unit_test_logE, align 4
  invoke void @_ZN5boost9unit_test13basic_cstringIKcEC1EPS2_j(%"class.boost::unit_test::basic_cstring"* %agg.tmp104, i8* getelementptr inbounds ([24 x i8]* @.str, i32 0, i32 0), i32 23)
          to label %invoke.cont105 unwind label %lpad

invoke.cont105:                                   ; preds = %do.body103
  invoke void @_ZN5boost9unit_test13basic_cstringIKcEC1Ev(%"class.boost::unit_test::basic_cstring"* %agg.tmp106)
          to label %invoke.cont107 unwind label %lpad

invoke.cont107:                                   ; preds = %invoke.cont105
  invoke void @_ZN5boost9unit_test15unit_test_log_t14set_checkpointENS0_13basic_cstringIKcEEjS4_(%"class.boost::unit_test::unit_test_log_t"* %37, %"class.boost::unit_test::basic_cstring"* byval align 4 %agg.tmp104, i32 475, %"class.boost::unit_test::basic_cstring"* byval align 4 %agg.tmp106)
          to label %invoke.cont108 unwind label %lpad

invoke.cont108:                                   ; preds = %invoke.cont107
  %38 = bitcast %"class.std::basic_stringstream"* %ss to i8**
  %vtable110 = load i8** %38
  %vbase.offset.ptr111 = getelementptr i8* %vtable110, i64 -12
  %39 = bitcast i8* %vbase.offset.ptr111 to i32*
  %vbase.offset112 = load i32* %39
  %40 = bitcast %"class.std::basic_stringstream"* %ss to i8*
  %add.ptr113 = getelementptr inbounds i8* %40, i32 %vbase.offset112
  %41 = bitcast i8* %add.ptr113 to %"class.std::ios_base"*
  %42 = load i32* @_ZL10word_index, align 4
  %call115 = invoke i8** @_ZNSt8ios_base5pwordEi(%"class.std::ios_base"* %41, i32 %42)
          to label %invoke.cont114 unwind label %lpad

invoke.cont114:                                   ; preds = %invoke.cont108
  %43 = load i8** %call115
  %cmp116 = icmp eq i8* null, %43
  invoke void @_ZN5boost10test_tools16predicate_resultC1Eb(%"class.boost::test_tools::predicate_result"* %ref.tmp109, i1 zeroext %cmp116)
          to label %invoke.cont117 unwind label %lpad

invoke.cont117:                                   ; preds = %invoke.cont114
  %call121 = invoke %"class.boost::unit_test::lazy_ostream"* @_ZN5boost9unit_test12lazy_ostream8instanceEv()
          to label %invoke.cont120 unwind label %lpad119

invoke.cont120:                                   ; preds = %invoke.cont117
  invoke void @_ZN5boost9unit_test13basic_cstringIKcEC1EPS2_j(%"class.boost::unit_test::basic_cstring"* %ref.tmp122, i8* getelementptr inbounds ([31 x i8]* @.str56, i32 0, i32 0), i32 30)
          to label %invoke.cont123 unwind label %lpad119

invoke.cont123:                                   ; preds = %invoke.cont120
  invoke void @_ZN5boost9unit_testlsINS0_13basic_cstringIKcEEEENS0_17lazy_ostream_implIRKT_EERKNS0_12lazy_ostreamES8_(%"class.boost::unit_test::lazy_ostream_impl.0"* sret %ref.tmp118, %"class.boost::unit_test::lazy_ostream"* %call121, %"class.boost::unit_test::basic_cstring"* %ref.tmp122)
          to label %invoke.cont124 unwind label %lpad119

invoke.cont124:                                   ; preds = %invoke.cont123
  %44 = bitcast %"class.boost::unit_test::lazy_ostream_impl.0"* %ref.tmp118 to %"class.boost::unit_test::lazy_ostream"*
  invoke void @_ZN5boost9unit_test13basic_cstringIKcEC1EPS2_j(%"class.boost::unit_test::basic_cstring"* %agg.tmp125, i8* getelementptr inbounds ([24 x i8]* @.str, i32 0, i32 0), i32 23)
          to label %invoke.cont127 unwind label %lpad126

invoke.cont127:                                   ; preds = %invoke.cont124
  %call129 = invoke zeroext i1 (%"class.boost::test_tools::predicate_result"*, %"class.boost::unit_test::lazy_ostream"*, %"class.boost::unit_test::basic_cstring"*, i32, i32, i32, i32, ...)* @_ZN5boost10test_tools9tt_detail10check_implERKNS0_16predicate_resultERKNS_9unit_test12lazy_ostreamENS5_13basic_cstringIKcEEjNS1_10tool_levelENS1_10check_typeEjz(%"class.boost::test_tools::predicate_result"* %ref.tmp109, %"class.boost::unit_test::lazy_ostream"* %44, %"class.boost::unit_test::basic_cstring"* byval align 4 %agg.tmp125, i32 475, i32 1, i32 0, i32 0)
          to label %invoke.cont128 unwind label %lpad126

invoke.cont128:                                   ; preds = %invoke.cont127
  invoke void @_ZN5boost9unit_test17lazy_ostream_implIRKNS0_13basic_cstringIKcEEED1Ev(%"class.boost::unit_test::lazy_ostream_impl.0"* %ref.tmp118)
          to label %invoke.cont130 unwind label %lpad119

invoke.cont130:                                   ; preds = %invoke.cont128
  invoke void @_ZN5boost10test_tools16predicate_resultD1Ev(%"class.boost::test_tools::predicate_result"* %ref.tmp109)
          to label %invoke.cont133 unwind label %lpad

invoke.cont133:                                   ; preds = %invoke.cont130
  br label %do.cond136

do.cond136:                                       ; preds = %invoke.cont133
  %45 = load i8* @_ZN5boost10test_tools12_GLOBAL__N_110dummy_condE, align 1
  %tobool137 = trunc i8 %45 to i1
  br i1 %tobool137, label %do.body103, label %do.end138

do.end138:                                        ; preds = %do.cond136
  %46 = bitcast %"class.std::basic_stringstream"* %ss to i8**
  %vtable140 = load i8** %46
  %vbase.offset.ptr141 = getelementptr i8* %vtable140, i64 -12
  %47 = bitcast i8* %vbase.offset.ptr141 to i32*
  %vbase.offset142 = load i32* %47
  %48 = bitcast %"class.std::basic_stringstream"* %ss to i8*
  %add.ptr143 = getelementptr inbounds i8* %48, i32 %vbase.offset142
  %49 = bitcast i8* %add.ptr143 to %"class.std::ios_base"*
  %50 = load i32* @_ZL10word_index, align 4
  %call145 = invoke %"class.std::basic_stringbuf"* @_ZNKSt18basic_stringstreamIcSt11char_traitsIcESaIcEE5rdbufEv(%"class.std::basic_stringstream"* %ss)
          to label %invoke.cont144 unwind label %lpad

invoke.cont144:                                   ; preds = %do.end138
  %51 = bitcast %"class.std::basic_stringbuf"* %call145 to i8*
  store i8* %51, i8** %ref.tmp146, align 4
  invoke void @_ZN5boost2io15ios_pword_saverC1ERSt8ios_baseiRKPv(%"class.boost::io::ios_pword_saver"* %ips139, %"class.std::ios_base"* %49, i32 %50, i8** %ref.tmp146)
          to label %invoke.cont147 unwind label %lpad

invoke.cont147:                                   ; preds = %invoke.cont144
  br label %do.body148

do.body148:                                       ; preds = %do.cond177, %invoke.cont147
  %52 = load %"class.boost::unit_test::unit_test_log_t"** @_ZN5boost9unit_test12_GLOBAL__N_113unit_test_logE, align 4
  invoke void @_ZN5boost9unit_test13basic_cstringIKcEC1EPS2_j(%"class.boost::unit_test::basic_cstring"* %agg.tmp149, i8* getelementptr inbounds ([24 x i8]* @.str, i32 0, i32 0), i32 23)
          to label %invoke.cont151 unwind label %lpad150

invoke.cont151:                                   ; preds = %do.body148
  invoke void @_ZN5boost9unit_test13basic_cstringIKcEC1Ev(%"class.boost::unit_test::basic_cstring"* %agg.tmp152)
          to label %invoke.cont153 unwind label %lpad150

invoke.cont153:                                   ; preds = %invoke.cont151
  invoke void @_ZN5boost9unit_test15unit_test_log_t14set_checkpointENS0_13basic_cstringIKcEEjS4_(%"class.boost::unit_test::unit_test_log_t"* %52, %"class.boost::unit_test::basic_cstring"* byval align 4 %agg.tmp149, i32 480, %"class.boost::unit_test::basic_cstring"* byval align 4 %agg.tmp152)
          to label %invoke.cont154 unwind label %lpad150

invoke.cont154:                                   ; preds = %invoke.cont153
  %call158 = invoke %"class.boost::unit_test::lazy_ostream"* @_ZN5boost9unit_test12lazy_ostream8instanceEv()
          to label %invoke.cont157 unwind label %lpad150

invoke.cont157:                                   ; preds = %invoke.cont154
  invoke void @_ZN5boost9unit_testlsIA1_cEENS0_17lazy_ostream_implIRKT_EERKNS0_12lazy_ostreamES6_(%"class.boost::unit_test::lazy_ostream_impl"* sret %ref.tmp156, %"class.boost::unit_test::lazy_ostream"* %call158, [1 x i8]* @.str3)
          to label %invoke.cont159 unwind label %lpad150

invoke.cont159:                                   ; preds = %invoke.cont157
  %53 = bitcast %"class.boost::unit_test::lazy_ostream_impl"* %ref.tmp156 to %"class.boost::unit_test::lazy_ostream"*
  invoke void @_ZN5boost9unit_test13basic_cstringIKcEC1EPS2_j(%"class.boost::unit_test::basic_cstring"* %agg.tmp160, i8* getelementptr inbounds ([24 x i8]* @.str, i32 0, i32 0), i32 23)
          to label %invoke.cont162 unwind label %lpad161

invoke.cont162:                                   ; preds = %invoke.cont159
  %call164 = invoke %"class.std::basic_stringbuf"* @_ZNKSt18basic_stringstreamIcSt11char_traitsIcESaIcEE5rdbufEv(%"class.std::basic_stringstream"* %ss)
          to label %invoke.cont163 unwind label %lpad161

invoke.cont163:                                   ; preds = %invoke.cont162
  store %"class.std::basic_stringbuf"* %call164, %"class.std::basic_stringbuf"** %ref.tmp165, align 4
  %54 = bitcast %"class.std::basic_stringstream"* %ss to i8**
  %vtable166 = load i8** %54
  %vbase.offset.ptr167 = getelementptr i8* %vtable166, i64 -12
  %55 = bitcast i8* %vbase.offset.ptr167 to i32*
  %vbase.offset168 = load i32* %55
  %56 = bitcast %"class.std::basic_stringstream"* %ss to i8*
  %add.ptr169 = getelementptr inbounds i8* %56, i32 %vbase.offset168
  %57 = bitcast i8* %add.ptr169 to %"class.std::ios_base"*
  %58 = load i32* @_ZL10word_index, align 4
  %call171 = invoke i8** @_ZNSt8ios_base5pwordEi(%"class.std::ios_base"* %57, i32 %58)
          to label %invoke.cont170 unwind label %lpad161

invoke.cont170:                                   ; preds = %invoke.cont163
  %call173 = invoke zeroext i1 @_ZN5boost10test_tools9tt_detail10check_frwdINS1_15equal_impl_frwdEPSt15basic_stringbufIcSt11char_traitsIcESaIcEEPvEEbT_RKNS_9unit_test12lazy_ostreamENSC_13basic_cstringIKcEEjNS1_10tool_levelENS1_10check_typeERKT0_PSH_RKT1_SO_(%"class.boost::unit_test::lazy_ostream"* %53, %"class.boost::unit_test::basic_cstring"* byval align 4 %agg.tmp160, i32 480, i32 1, i32 2, %"class.std::basic_stringbuf"** %ref.tmp165, i8* getelementptr inbounds ([11 x i8]* @.str59, i32 0, i32 0), i8** %call171, i8* getelementptr inbounds ([21 x i8]* @.str58, i32 0, i32 0))
          to label %invoke.cont172 unwind label %lpad161

invoke.cont172:                                   ; preds = %invoke.cont170
  invoke void @_ZN5boost9unit_test17lazy_ostream_implIRA1_KcED1Ev(%"class.boost::unit_test::lazy_ostream_impl"* %ref.tmp156)
          to label %invoke.cont174 unwind label %lpad150

invoke.cont174:                                   ; preds = %invoke.cont172
  br label %do.cond177

do.cond177:                                       ; preds = %invoke.cont174
  %59 = load i8* @_ZN5boost10test_tools12_GLOBAL__N_110dummy_condE, align 1
  %tobool178 = trunc i8 %59 to i1
  br i1 %tobool178, label %do.body148, label %do.end179

do.end179:                                        ; preds = %do.cond177
  %60 = bitcast %"class.std::basic_stringstream"* %ss to i8*
  %61 = bitcast %"class.std::basic_stringstream"* %ss to i8**
  %vtable180 = load i8** %61
  %vbase.offset.ptr181 = getelementptr i8* %vtable180, i64 -12
  %62 = bitcast i8* %vbase.offset.ptr181 to i32*
  %vbase.offset182 = load i32* %62
  %63 = bitcast %"class.std::basic_stringstream"* %ss to i8*
  %add.ptr183 = getelementptr inbounds i8* %63, i32 %vbase.offset182
  %64 = bitcast i8* %add.ptr183 to %"class.std::ios_base"*
  %65 = load i32* @_ZL10word_index, align 4
  %call185 = invoke i8** @_ZNSt8ios_base5pwordEi(%"class.std::ios_base"* %64, i32 %65)
          to label %invoke.cont184 unwind label %lpad150

invoke.cont184:                                   ; preds = %do.end179
  store i8* %60, i8** %call185
  br label %do.body186

do.body186:                                       ; preds = %do.cond212, %invoke.cont184
  %66 = load %"class.boost::unit_test::unit_test_log_t"** @_ZN5boost9unit_test12_GLOBAL__N_113unit_test_logE, align 4
  invoke void @_ZN5boost9unit_test13basic_cstringIKcEC1EPS2_j(%"class.boost::unit_test::basic_cstring"* %agg.tmp187, i8* getelementptr inbounds ([24 x i8]* @.str, i32 0, i32 0), i32 23)
          to label %invoke.cont188 unwind label %lpad150

invoke.cont188:                                   ; preds = %do.body186
  invoke void @_ZN5boost9unit_test13basic_cstringIKcEC1Ev(%"class.boost::unit_test::basic_cstring"* %agg.tmp189)
          to label %invoke.cont190 unwind label %lpad150

invoke.cont190:                                   ; preds = %invoke.cont188
  invoke void @_ZN5boost9unit_test15unit_test_log_t14set_checkpointENS0_13basic_cstringIKcEEjS4_(%"class.boost::unit_test::unit_test_log_t"* %66, %"class.boost::unit_test::basic_cstring"* byval align 4 %agg.tmp187, i32 483, %"class.boost::unit_test::basic_cstring"* byval align 4 %agg.tmp189)
          to label %invoke.cont191 unwind label %lpad150

invoke.cont191:                                   ; preds = %invoke.cont190
  %call195 = invoke %"class.boost::unit_test::lazy_ostream"* @_ZN5boost9unit_test12lazy_ostream8instanceEv()
          to label %invoke.cont194 unwind label %lpad150

invoke.cont194:                                   ; preds = %invoke.cont191
  invoke void @_ZN5boost9unit_testlsIA1_cEENS0_17lazy_ostream_implIRKT_EERKNS0_12lazy_ostreamES6_(%"class.boost::unit_test::lazy_ostream_impl"* sret %ref.tmp193, %"class.boost::unit_test::lazy_ostream"* %call195, [1 x i8]* @.str3)
          to label %invoke.cont196 unwind label %lpad150

invoke.cont196:                                   ; preds = %invoke.cont194
  %67 = bitcast %"class.boost::unit_test::lazy_ostream_impl"* %ref.tmp193 to %"class.boost::unit_test::lazy_ostream"*
  invoke void @_ZN5boost9unit_test13basic_cstringIKcEC1EPS2_j(%"class.boost::unit_test::basic_cstring"* %agg.tmp197, i8* getelementptr inbounds ([24 x i8]* @.str, i32 0, i32 0), i32 23)
          to label %invoke.cont199 unwind label %lpad198

invoke.cont199:                                   ; preds = %invoke.cont196
  store %"class.std::basic_stringstream"* %ss, %"class.std::basic_stringstream"** %ref.tmp200, align 4
  %68 = bitcast %"class.std::basic_stringstream"* %ss to i8**
  %vtable201 = load i8** %68
  %vbase.offset.ptr202 = getelementptr i8* %vtable201, i64 -12
  %69 = bitcast i8* %vbase.offset.ptr202 to i32*
  %vbase.offset203 = load i32* %69
  %70 = bitcast %"class.std::basic_stringstream"* %ss to i8*
  %add.ptr204 = getelementptr inbounds i8* %70, i32 %vbase.offset203
  %71 = bitcast i8* %add.ptr204 to %"class.std::ios_base"*
  %72 = load i32* @_ZL10word_index, align 4
  %call206 = invoke i8** @_ZNSt8ios_base5pwordEi(%"class.std::ios_base"* %71, i32 %72)
          to label %invoke.cont205 unwind label %lpad198

invoke.cont205:                                   ; preds = %invoke.cont199
  %call208 = invoke zeroext i1 @_ZN5boost10test_tools9tt_detail10check_frwdINS1_15equal_impl_frwdEPSt18basic_stringstreamIcSt11char_traitsIcESaIcEEPvEEbT_RKNS_9unit_test12lazy_ostreamENSC_13basic_cstringIKcEEjNS1_10tool_levelENS1_10check_typeERKT0_PSH_RKT1_SO_(%"class.boost::unit_test::lazy_ostream"* %67, %"class.boost::unit_test::basic_cstring"* byval align 4 %agg.tmp197, i32 483, i32 1, i32 2, %"class.std::basic_stringstream"** %ref.tmp200, i8* getelementptr inbounds ([4 x i8]* @.str57, i32 0, i32 0), i8** %call206, i8* getelementptr inbounds ([21 x i8]* @.str58, i32 0, i32 0))
          to label %invoke.cont207 unwind label %lpad198

invoke.cont207:                                   ; preds = %invoke.cont205
  invoke void @_ZN5boost9unit_test17lazy_ostream_implIRA1_KcED1Ev(%"class.boost::unit_test::lazy_ostream_impl"* %ref.tmp193)
          to label %invoke.cont209 unwind label %lpad150

invoke.cont209:                                   ; preds = %invoke.cont207
  br label %do.cond212

do.cond212:                                       ; preds = %invoke.cont209
  %73 = load i8* @_ZN5boost10test_tools12_GLOBAL__N_110dummy_condE, align 1
  %tobool213 = trunc i8 %73 to i1
  br i1 %tobool213, label %do.body186, label %do.end214

do.end214:                                        ; preds = %do.cond212
  invoke void @_ZN5boost2io15ios_pword_saverD1Ev(%"class.boost::io::ios_pword_saver"* %ips139)
          to label %invoke.cont215 unwind label %lpad

invoke.cont215:                                   ; preds = %do.end214
  br label %do.body218

do.body218:                                       ; preds = %do.cond251, %invoke.cont215
  %74 = load %"class.boost::unit_test::unit_test_log_t"** @_ZN5boost9unit_test12_GLOBAL__N_113unit_test_logE, align 4
  invoke void @_ZN5boost9unit_test13basic_cstringIKcEC1EPS2_j(%"class.boost::unit_test::basic_cstring"* %agg.tmp219, i8* getelementptr inbounds ([24 x i8]* @.str, i32 0, i32 0), i32 23)
          to label %invoke.cont220 unwind label %lpad

invoke.cont220:                                   ; preds = %do.body218
  invoke void @_ZN5boost9unit_test13basic_cstringIKcEC1Ev(%"class.boost::unit_test::basic_cstring"* %agg.tmp221)
          to label %invoke.cont222 unwind label %lpad

invoke.cont222:                                   ; preds = %invoke.cont220
  invoke void @_ZN5boost9unit_test15unit_test_log_t14set_checkpointENS0_13basic_cstringIKcEEjS4_(%"class.boost::unit_test::unit_test_log_t"* %74, %"class.boost::unit_test::basic_cstring"* byval align 4 %agg.tmp219, i32 486, %"class.boost::unit_test::basic_cstring"* byval align 4 %agg.tmp221)
          to label %invoke.cont223 unwind label %lpad

invoke.cont223:                                   ; preds = %invoke.cont222
  %75 = bitcast %"class.std::basic_stringstream"* %ss to i8**
  %vtable225 = load i8** %75
  %vbase.offset.ptr226 = getelementptr i8* %vtable225, i64 -12
  %76 = bitcast i8* %vbase.offset.ptr226 to i32*
  %vbase.offset227 = load i32* %76
  %77 = bitcast %"class.std::basic_stringstream"* %ss to i8*
  %add.ptr228 = getelementptr inbounds i8* %77, i32 %vbase.offset227
  %78 = bitcast i8* %add.ptr228 to %"class.std::ios_base"*
  %79 = load i32* @_ZL10word_index, align 4
  %call230 = invoke i8** @_ZNSt8ios_base5pwordEi(%"class.std::ios_base"* %78, i32 %79)
          to label %invoke.cont229 unwind label %lpad

invoke.cont229:                                   ; preds = %invoke.cont223
  %80 = load i8** %call230
  %cmp231 = icmp eq i8* null, %80
  invoke void @_ZN5boost10test_tools16predicate_resultC1Eb(%"class.boost::test_tools::predicate_result"* %ref.tmp224, i1 zeroext %cmp231)
          to label %invoke.cont232 unwind label %lpad

invoke.cont232:                                   ; preds = %invoke.cont229
  %call236 = invoke %"class.boost::unit_test::lazy_ostream"* @_ZN5boost9unit_test12lazy_ostream8instanceEv()
          to label %invoke.cont235 unwind label %lpad234

invoke.cont235:                                   ; preds = %invoke.cont232
  invoke void @_ZN5boost9unit_test13basic_cstringIKcEC1EPS2_j(%"class.boost::unit_test::basic_cstring"* %ref.tmp237, i8* getelementptr inbounds ([31 x i8]* @.str56, i32 0, i32 0), i32 30)
          to label %invoke.cont238 unwind label %lpad234

invoke.cont238:                                   ; preds = %invoke.cont235
  invoke void @_ZN5boost9unit_testlsINS0_13basic_cstringIKcEEEENS0_17lazy_ostream_implIRKT_EERKNS0_12lazy_ostreamES8_(%"class.boost::unit_test::lazy_ostream_impl.0"* sret %ref.tmp233, %"class.boost::unit_test::lazy_ostream"* %call236, %"class.boost::unit_test::basic_cstring"* %ref.tmp237)
          to label %invoke.cont239 unwind label %lpad234

invoke.cont239:                                   ; preds = %invoke.cont238
  %81 = bitcast %"class.boost::unit_test::lazy_ostream_impl.0"* %ref.tmp233 to %"class.boost::unit_test::lazy_ostream"*
  invoke void @_ZN5boost9unit_test13basic_cstringIKcEC1EPS2_j(%"class.boost::unit_test::basic_cstring"* %agg.tmp240, i8* getelementptr inbounds ([24 x i8]* @.str, i32 0, i32 0), i32 23)
          to label %invoke.cont242 unwind label %lpad241

invoke.cont242:                                   ; preds = %invoke.cont239
  %call244 = invoke zeroext i1 (%"class.boost::test_tools::predicate_result"*, %"class.boost::unit_test::lazy_ostream"*, %"class.boost::unit_test::basic_cstring"*, i32, i32, i32, i32, ...)* @_ZN5boost10test_tools9tt_detail10check_implERKNS0_16predicate_resultERKNS_9unit_test12lazy_ostreamENS5_13basic_cstringIKcEEjNS1_10tool_levelENS1_10check_typeEjz(%"class.boost::test_tools::predicate_result"* %ref.tmp224, %"class.boost::unit_test::lazy_ostream"* %81, %"class.boost::unit_test::basic_cstring"* byval align 4 %agg.tmp240, i32 486, i32 1, i32 0, i32 0)
          to label %invoke.cont243 unwind label %lpad241

invoke.cont243:                                   ; preds = %invoke.cont242
  invoke void @_ZN5boost9unit_test17lazy_ostream_implIRKNS0_13basic_cstringIKcEEED1Ev(%"class.boost::unit_test::lazy_ostream_impl.0"* %ref.tmp233)
          to label %invoke.cont245 unwind label %lpad234

invoke.cont245:                                   ; preds = %invoke.cont243
  invoke void @_ZN5boost10test_tools16predicate_resultD1Ev(%"class.boost::test_tools::predicate_result"* %ref.tmp224)
          to label %invoke.cont248 unwind label %lpad

invoke.cont248:                                   ; preds = %invoke.cont245
  br label %do.cond251

do.cond251:                                       ; preds = %invoke.cont248
  %82 = load i8* @_ZN5boost10test_tools12_GLOBAL__N_110dummy_condE, align 1
  %tobool252 = trunc i8 %82 to i1
  br i1 %tobool252, label %do.body218, label %do.end253

do.end253:                                        ; preds = %do.cond251
  call void @_ZNSt18basic_stringstreamIcSt11char_traitsIcESaIcEED1Ev(%"class.std::basic_stringstream"* %ss)
  ret void

lpad:                                             ; preds = %invoke.cont245, %invoke.cont229, %invoke.cont223, %invoke.cont222, %invoke.cont220, %do.body218, %do.end214, %invoke.cont144, %do.end138, %invoke.cont130, %invoke.cont114, %invoke.cont108, %invoke.cont107, %invoke.cont105, %do.body103, %do.end99, %do.end, %invoke.cont19, %invoke.cont4, %invoke.cont3, %invoke.cont2, %invoke.cont, %do.body
  %83 = landingpad { i8*, i32 } personality i8* bitcast (i32 (...)* @__gxx_personality_v0 to i8*)
          cleanup
  %84 = extractvalue { i8*, i32 } %83, 0
  store i8* %84, i8** %exn.slot
  %85 = extractvalue { i8*, i32 } %83, 1
  store i32 %85, i32* %ehselector.slot
  br label %ehcleanup254

lpad8:                                            ; preds = %invoke.cont17, %invoke.cont12, %invoke.cont9, %invoke.cont6
  %86 = landingpad { i8*, i32 } personality i8* bitcast (i32 (...)* @__gxx_personality_v0 to i8*)
          cleanup
  %87 = extractvalue { i8*, i32 } %86, 0
  store i8* %87, i8** %exn.slot
  %88 = extractvalue { i8*, i32 } %86, 1
  store i32 %88, i32* %ehselector.slot
  br label %ehcleanup

lpad15:                                           ; preds = %invoke.cont16, %invoke.cont13
  %89 = landingpad { i8*, i32 } personality i8* bitcast (i32 (...)* @__gxx_personality_v0 to i8*)
          cleanup
  %90 = extractvalue { i8*, i32 } %89, 0
  store i8* %90, i8** %exn.slot
  %91 = extractvalue { i8*, i32 } %89, 1
  store i32 %91, i32* %ehselector.slot
  invoke void @_ZN5boost9unit_test17lazy_ostream_implIRKNS0_13basic_cstringIKcEEED1Ev(%"class.boost::unit_test::lazy_ostream_impl.0"* %ref.tmp7)
          to label %invoke.cont20 unwind label %terminate.lpad

invoke.cont20:                                    ; preds = %lpad15
  br label %ehcleanup

ehcleanup:                                        ; preds = %invoke.cont20, %lpad8
  invoke void @_ZN5boost10test_tools16predicate_resultD1Ev(%"class.boost::test_tools::predicate_result"* %ref.tmp)
          to label %invoke.cont22 unwind label %terminate.lpad

invoke.cont22:                                    ; preds = %ehcleanup
  br label %ehcleanup254

lpad30:                                           ; preds = %invoke.cont92, %invoke.cont79, %invoke.cont76, %invoke.cont75, %invoke.cont73, %do.body71, %do.end64, %invoke.cont56, %invoke.cont40, %invoke.cont34, %invoke.cont33, %invoke.cont31, %do.body28
  %92 = landingpad { i8*, i32 } personality i8* bitcast (i32 (...)* @__gxx_personality_v0 to i8*)
          cleanup
  %93 = extractvalue { i8*, i32 } %92, 0
  store i8* %93, i8** %exn.slot
  %94 = extractvalue { i8*, i32 } %92, 1
  store i32 %94, i32* %ehselector.slot
  br label %ehcleanup101

lpad45:                                           ; preds = %invoke.cont54, %invoke.cont49, %invoke.cont46, %invoke.cont43
  %95 = landingpad { i8*, i32 } personality i8* bitcast (i32 (...)* @__gxx_personality_v0 to i8*)
          cleanup
  %96 = extractvalue { i8*, i32 } %95, 0
  store i8* %96, i8** %exn.slot
  %97 = extractvalue { i8*, i32 } %95, 1
  store i32 %97, i32* %ehselector.slot
  br label %ehcleanup60

lpad52:                                           ; preds = %invoke.cont53, %invoke.cont50
  %98 = landingpad { i8*, i32 } personality i8* bitcast (i32 (...)* @__gxx_personality_v0 to i8*)
          cleanup
  %99 = extractvalue { i8*, i32 } %98, 0
  store i8* %99, i8** %exn.slot
  %100 = extractvalue { i8*, i32 } %98, 1
  store i32 %100, i32* %ehselector.slot
  invoke void @_ZN5boost9unit_test17lazy_ostream_implIRKNS0_13basic_cstringIKcEEED1Ev(%"class.boost::unit_test::lazy_ostream_impl.0"* %ref.tmp44)
          to label %invoke.cont58 unwind label %terminate.lpad

invoke.cont58:                                    ; preds = %lpad52
  br label %ehcleanup60

ehcleanup60:                                      ; preds = %invoke.cont58, %lpad45
  invoke void @_ZN5boost10test_tools16predicate_resultD1Ev(%"class.boost::test_tools::predicate_result"* %ref.tmp35)
          to label %invoke.cont61 unwind label %terminate.lpad

invoke.cont61:                                    ; preds = %ehcleanup60
  br label %ehcleanup101

lpad83:                                           ; preds = %invoke.cont90, %invoke.cont84, %invoke.cont81
  %101 = landingpad { i8*, i32 } personality i8* bitcast (i32 (...)* @__gxx_personality_v0 to i8*)
          cleanup
  %102 = extractvalue { i8*, i32 } %101, 0
  store i8* %102, i8** %exn.slot
  %103 = extractvalue { i8*, i32 } %101, 1
  store i32 %103, i32* %ehselector.slot
  invoke void @_ZN5boost9unit_test17lazy_ostream_implIRA1_KcED1Ev(%"class.boost::unit_test::lazy_ostream_impl"* %ref.tmp78)
          to label %invoke.cont96 unwind label %terminate.lpad

invoke.cont96:                                    ; preds = %lpad83
  br label %ehcleanup101

ehcleanup101:                                     ; preds = %invoke.cont96, %invoke.cont61, %lpad30
  invoke void @_ZN5boost2io15ios_pword_saverD1Ev(%"class.boost::io::ios_pword_saver"* %ips)
          to label %invoke.cont102 unwind label %terminate.lpad

invoke.cont102:                                   ; preds = %ehcleanup101
  br label %ehcleanup254

lpad119:                                          ; preds = %invoke.cont128, %invoke.cont123, %invoke.cont120, %invoke.cont117
  %104 = landingpad { i8*, i32 } personality i8* bitcast (i32 (...)* @__gxx_personality_v0 to i8*)
          cleanup
  %105 = extractvalue { i8*, i32 } %104, 0
  store i8* %105, i8** %exn.slot
  %106 = extractvalue { i8*, i32 } %104, 1
  store i32 %106, i32* %ehselector.slot
  br label %ehcleanup134

lpad126:                                          ; preds = %invoke.cont127, %invoke.cont124
  %107 = landingpad { i8*, i32 } personality i8* bitcast (i32 (...)* @__gxx_personality_v0 to i8*)
          cleanup
  %108 = extractvalue { i8*, i32 } %107, 0
  store i8* %108, i8** %exn.slot
  %109 = extractvalue { i8*, i32 } %107, 1
  store i32 %109, i32* %ehselector.slot
  invoke void @_ZN5boost9unit_test17lazy_ostream_implIRKNS0_13basic_cstringIKcEEED1Ev(%"class.boost::unit_test::lazy_ostream_impl.0"* %ref.tmp118)
          to label %invoke.cont132 unwind label %terminate.lpad

invoke.cont132:                                   ; preds = %lpad126
  br label %ehcleanup134

ehcleanup134:                                     ; preds = %invoke.cont132, %lpad119
  invoke void @_ZN5boost10test_tools16predicate_resultD1Ev(%"class.boost::test_tools::predicate_result"* %ref.tmp109)
          to label %invoke.cont135 unwind label %terminate.lpad

invoke.cont135:                                   ; preds = %ehcleanup134
  br label %ehcleanup254

lpad150:                                          ; preds = %invoke.cont207, %invoke.cont194, %invoke.cont191, %invoke.cont190, %invoke.cont188, %do.body186, %do.end179, %invoke.cont172, %invoke.cont157, %invoke.cont154, %invoke.cont153, %invoke.cont151, %do.body148
  %110 = landingpad { i8*, i32 } personality i8* bitcast (i32 (...)* @__gxx_personality_v0 to i8*)
          cleanup
  %111 = extractvalue { i8*, i32 } %110, 0
  store i8* %111, i8** %exn.slot
  %112 = extractvalue { i8*, i32 } %110, 1
  store i32 %112, i32* %ehselector.slot
  br label %ehcleanup216

lpad161:                                          ; preds = %invoke.cont170, %invoke.cont163, %invoke.cont162, %invoke.cont159
  %113 = landingpad { i8*, i32 } personality i8* bitcast (i32 (...)* @__gxx_personality_v0 to i8*)
          cleanup
  %114 = extractvalue { i8*, i32 } %113, 0
  store i8* %114, i8** %exn.slot
  %115 = extractvalue { i8*, i32 } %113, 1
  store i32 %115, i32* %ehselector.slot
  invoke void @_ZN5boost9unit_test17lazy_ostream_implIRA1_KcED1Ev(%"class.boost::unit_test::lazy_ostream_impl"* %ref.tmp156)
          to label %invoke.cont176 unwind label %terminate.lpad

invoke.cont176:                                   ; preds = %lpad161
  br label %ehcleanup216

lpad198:                                          ; preds = %invoke.cont205, %invoke.cont199, %invoke.cont196
  %116 = landingpad { i8*, i32 } personality i8* bitcast (i32 (...)* @__gxx_personality_v0 to i8*)
          cleanup
  %117 = extractvalue { i8*, i32 } %116, 0
  store i8* %117, i8** %exn.slot
  %118 = extractvalue { i8*, i32 } %116, 1
  store i32 %118, i32* %ehselector.slot
  invoke void @_ZN5boost9unit_test17lazy_ostream_implIRA1_KcED1Ev(%"class.boost::unit_test::lazy_ostream_impl"* %ref.tmp193)
          to label %invoke.cont211 unwind label %terminate.lpad

invoke.cont211:                                   ; preds = %lpad198
  br label %ehcleanup216

ehcleanup216:                                     ; preds = %invoke.cont211, %invoke.cont176, %lpad150
  invoke void @_ZN5boost2io15ios_pword_saverD1Ev(%"class.boost::io::ios_pword_saver"* %ips139)
          to label %invoke.cont217 unwind label %terminate.lpad

invoke.cont217:                                   ; preds = %ehcleanup216
  br label %ehcleanup254

lpad234:                                          ; preds = %invoke.cont243, %invoke.cont238, %invoke.cont235, %invoke.cont232
  %119 = landingpad { i8*, i32 } personality i8* bitcast (i32 (...)* @__gxx_personality_v0 to i8*)
          cleanup
  %120 = extractvalue { i8*, i32 } %119, 0
  store i8* %120, i8** %exn.slot
  %121 = extractvalue { i8*, i32 } %119, 1
  store i32 %121, i32* %ehselector.slot
  br label %ehcleanup249

lpad241:                                          ; preds = %invoke.cont242, %invoke.cont239
  %122 = landingpad { i8*, i32 } personality i8* bitcast (i32 (...)* @__gxx_personality_v0 to i8*)
          cleanup
  %123 = extractvalue { i8*, i32 } %122, 0
  store i8* %123, i8** %exn.slot
  %124 = extractvalue { i8*, i32 } %122, 1
  store i32 %124, i32* %ehselector.slot
  invoke void @_ZN5boost9unit_test17lazy_ostream_implIRKNS0_13basic_cstringIKcEEED1Ev(%"class.boost::unit_test::lazy_ostream_impl.0"* %ref.tmp233)
          to label %invoke.cont247 unwind label %terminate.lpad

invoke.cont247:                                   ; preds = %lpad241
  br label %ehcleanup249

ehcleanup249:                                     ; preds = %invoke.cont247, %lpad234
  invoke void @_ZN5boost10test_tools16predicate_resultD1Ev(%"class.boost::test_tools::predicate_result"* %ref.tmp224)
          to label %invoke.cont250 unwind label %terminate.lpad

invoke.cont250:                                   ; preds = %ehcleanup249
  br label %ehcleanup254

ehcleanup254:                                     ; preds = %invoke.cont250, %invoke.cont217, %invoke.cont135, %invoke.cont102, %invoke.cont22, %lpad
  invoke void @_ZNSt18basic_stringstreamIcSt11char_traitsIcESaIcEED1Ev(%"class.std::basic_stringstream"* %ss)
          to label %invoke.cont255 unwind label %terminate.lpad

invoke.cont255:                                   ; preds = %ehcleanup254
  br label %eh.resume

eh.resume:                                        ; preds = %invoke.cont255
  %exn = load i8** %exn.slot
  %sel = load i32* %ehselector.slot
  %lpad.val = insertvalue { i8*, i32 } undef, i8* %exn, 0
  %lpad.val256 = insertvalue { i8*, i32 } %lpad.val, i32 %sel, 1
  resume { i8*, i32 } %lpad.val256

terminate.lpad:                                   ; preds = %ehcleanup254, %ehcleanup249, %lpad241, %ehcleanup216, %lpad198, %lpad161, %ehcleanup134, %lpad126, %ehcleanup101, %lpad83, %ehcleanup60, %lpad52, %ehcleanup, %lpad15
  %125 = landingpad { i8*, i32 } personality i8* bitcast (i32 (...)* @__gxx_personality_v0 to i8*)
          catch i8* null
  call void @_ZSt9terminatev() noreturn nounwind
  unreachable
}

define linkonce_odr i8** @_ZNSt8ios_base5pwordEi(%"class.std::ios_base"* %this, i32 %__ix) align 2 {
entry:
  %this.addr = alloca %"class.std::ios_base"*, align 4
  %__ix.addr = alloca i32, align 4
  %__word = alloca %"struct.std::ios_base::_Words"*, align 4
  store %"class.std::ios_base"* %this, %"class.std::ios_base"** %this.addr, align 4
  store i32 %__ix, i32* %__ix.addr, align 4
  %this1 = load %"class.std::ios_base"** %this.addr
  %0 = load i32* %__ix.addr, align 4
  %_M_word_size = getelementptr inbounds %"class.std::ios_base"* %this1, i32 0, i32 9
  %1 = load i32* %_M_word_size, align 4
  %cmp = icmp slt i32 %0, %1
  br i1 %cmp, label %cond.true, label %cond.false

cond.true:                                        ; preds = %entry
  %2 = load i32* %__ix.addr, align 4
  %_M_word = getelementptr inbounds %"class.std::ios_base"* %this1, i32 0, i32 10
  %3 = load %"struct.std::ios_base::_Words"** %_M_word, align 4
  %arrayidx = getelementptr inbounds %"struct.std::ios_base::_Words"* %3, i32 %2
  br label %cond.end

cond.false:                                       ; preds = %entry
  %4 = load i32* %__ix.addr, align 4
  %call = call %"struct.std::ios_base::_Words"* @_ZNSt8ios_base13_M_grow_wordsEib(%"class.std::ios_base"* %this1, i32 %4, i1 zeroext false)
  br label %cond.end

cond.end:                                         ; preds = %cond.false, %cond.true
  %cond-lvalue = phi %"struct.std::ios_base::_Words"* [ %arrayidx, %cond.true ], [ %call, %cond.false ]
  store %"struct.std::ios_base::_Words"* %cond-lvalue, %"struct.std::ios_base::_Words"** %__word, align 4
  %5 = load %"struct.std::ios_base::_Words"** %__word, align 4
  %_M_pword = getelementptr inbounds %"struct.std::ios_base::_Words"* %5, i32 0, i32 0
  ret i8** %_M_pword
}

define linkonce_odr void @_ZN5boost2io15ios_pword_saverC1ERSt8ios_basei(%"class.boost::io::ios_pword_saver"* %this, %"class.std::ios_base"* %s, i32 %i) unnamed_addr align 2 {
entry:
  %this.addr = alloca %"class.boost::io::ios_pword_saver"*, align 4
  %s.addr = alloca %"class.std::ios_base"*, align 4
  %i.addr = alloca i32, align 4
  store %"class.boost::io::ios_pword_saver"* %this, %"class.boost::io::ios_pword_saver"** %this.addr, align 4
  store %"class.std::ios_base"* %s, %"class.std::ios_base"** %s.addr, align 4
  store i32 %i, i32* %i.addr, align 4
  %this1 = load %"class.boost::io::ios_pword_saver"** %this.addr
  %0 = load i32* %i.addr, align 4
  %1 = load %"class.std::ios_base"** %s.addr
  call void @_ZN5boost2io15ios_pword_saverC2ERSt8ios_basei(%"class.boost::io::ios_pword_saver"* %this1, %"class.std::ios_base"* %1, i32 %0)
  ret void
}

define linkonce_odr zeroext i1 @_ZN5boost10test_tools9tt_detail10check_frwdINS1_15equal_impl_frwdEPSt18basic_stringstreamIcSt11char_traitsIcESaIcEEPvEEbT_RKNS_9unit_test12lazy_ostreamENSC_13basic_cstringIKcEEjNS1_10tool_levelENS1_10check_typeERKT0_PSH_RKT1_SO_(%"class.boost::unit_test::lazy_ostream"* %check_descr, %"class.boost::unit_test::basic_cstring"* byval align 4 %file_name, i32 %line_num, i32 %tl, i32 %ct, %"class.std::basic_stringstream"** %arg0, i8* %arg0_descr, i8** %arg1, i8* %arg1_descr) inlinehint {
entry:
  %P = alloca %"struct.boost::test_tools::tt_detail::equal_impl_frwd", align 1
  %check_descr.addr = alloca %"class.boost::unit_test::lazy_ostream"*, align 4
  %line_num.addr = alloca i32, align 4
  %tl.addr = alloca i32, align 4
  %ct.addr = alloca i32, align 4
  %arg0.addr = alloca %"class.std::basic_stringstream"**, align 4
  %arg0_descr.addr = alloca i8*, align 4
  %arg1.addr = alloca i8**, align 4
  %arg1_descr.addr = alloca i8*, align 4
  %ref.tmp = alloca %"class.boost::test_tools::predicate_result", align 4
  %agg.tmp = alloca %"class.boost::unit_test::basic_cstring", align 4
  %ref.tmp1 = alloca %"class.boost::unit_test::lazy_ostream_impl.30", align 4
  %exn.slot = alloca i8*
  %ehselector.slot = alloca i32
  %ref.tmp2 = alloca %"struct.boost::test_tools::tt_detail::print_helper_t.31", align 4
  %ref.tmp5 = alloca %"class.boost::unit_test::lazy_ostream_impl.26", align 4
  %ref.tmp9 = alloca %"struct.boost::test_tools::tt_detail::print_helper_t.27", align 4
  store %"class.boost::unit_test::lazy_ostream"* %check_descr, %"class.boost::unit_test::lazy_ostream"** %check_descr.addr, align 4
  store i32 %line_num, i32* %line_num.addr, align 4
  store i32 %tl, i32* %tl.addr, align 4
  store i32 %ct, i32* %ct.addr, align 4
  store %"class.std::basic_stringstream"** %arg0, %"class.std::basic_stringstream"*** %arg0.addr, align 4
  store i8* %arg0_descr, i8** %arg0_descr.addr, align 4
  store i8** %arg1, i8*** %arg1.addr, align 4
  store i8* %arg1_descr, i8** %arg1_descr.addr, align 4
  %0 = load %"class.std::basic_stringstream"*** %arg0.addr, align 4
  %1 = load i8*** %arg1.addr, align 4
  call void @_ZNK5boost10test_tools9tt_detail15equal_impl_frwdclIPSt18basic_stringstreamIcSt11char_traitsIcESaIcEEPvEENS0_16predicate_resultERKT_RKT0_(%"class.boost::test_tools::predicate_result"* sret %ref.tmp, %"struct.boost::test_tools::tt_detail::equal_impl_frwd"* %P, %"class.std::basic_stringstream"** %0, i8** %1)
  %2 = load %"class.boost::unit_test::lazy_ostream"** %check_descr.addr, align 4
  %3 = bitcast %"class.boost::unit_test::basic_cstring"* %agg.tmp to i8*
  %4 = bitcast %"class.boost::unit_test::basic_cstring"* %file_name to i8*
  call void @llvm.memcpy.p0i8.p0i8.i32(i8* %3, i8* %4, i32 8, i32 4, i1 false)
  %5 = load i32* %line_num.addr, align 4
  %6 = load i32* %tl.addr, align 4
  %7 = load i32* %ct.addr, align 4
  %8 = load i8** %arg0_descr.addr, align 4
  %call = invoke %"class.boost::unit_test::lazy_ostream"* @_ZN5boost9unit_test12lazy_ostream8instanceEv()
          to label %invoke.cont unwind label %lpad

invoke.cont:                                      ; preds = %entry
  %9 = load %"class.std::basic_stringstream"*** %arg0.addr, align 4
  invoke void @_ZN5boost10test_tools9tt_detail12print_helperIPSt18basic_stringstreamIcSt11char_traitsIcESaIcEEEENS1_14print_helper_tIT_EERKSA_(%"struct.boost::test_tools::tt_detail::print_helper_t.31"* sret %ref.tmp2, %"class.std::basic_stringstream"** %9)
          to label %invoke.cont3 unwind label %lpad

invoke.cont3:                                     ; preds = %invoke.cont
  invoke void @_ZN5boost9unit_testlsINS_10test_tools9tt_detail14print_helper_tIPSt18basic_stringstreamIcSt11char_traitsIcESaIcEEEEEENS0_17lazy_ostream_implIRKT_EERKNS0_12lazy_ostreamESF_(%"class.boost::unit_test::lazy_ostream_impl.30"* sret %ref.tmp1, %"class.boost::unit_test::lazy_ostream"* %call, %"struct.boost::test_tools::tt_detail::print_helper_t.31"* %ref.tmp2)
          to label %invoke.cont4 unwind label %lpad

invoke.cont4:                                     ; preds = %invoke.cont3
  %10 = bitcast %"class.boost::unit_test::lazy_ostream_impl.30"* %ref.tmp1 to %"class.boost::unit_test::lazy_ostream"*
  %11 = load i8** %arg1_descr.addr, align 4
  %call8 = invoke %"class.boost::unit_test::lazy_ostream"* @_ZN5boost9unit_test12lazy_ostream8instanceEv()
          to label %invoke.cont7 unwind label %lpad6

invoke.cont7:                                     ; preds = %invoke.cont4
  %12 = load i8*** %arg1.addr, align 4
  invoke void @_ZN5boost10test_tools9tt_detail12print_helperIPvEENS1_14print_helper_tIT_EERKS5_(%"struct.boost::test_tools::tt_detail::print_helper_t.27"* sret %ref.tmp9, i8** %12)
          to label %invoke.cont10 unwind label %lpad6

invoke.cont10:                                    ; preds = %invoke.cont7
  invoke void @_ZN5boost9unit_testlsINS_10test_tools9tt_detail14print_helper_tIPvEEEENS0_17lazy_ostream_implIRKT_EERKNS0_12lazy_ostreamESA_(%"class.boost::unit_test::lazy_ostream_impl.26"* sret %ref.tmp5, %"class.boost::unit_test::lazy_ostream"* %call8, %"struct.boost::test_tools::tt_detail::print_helper_t.27"* %ref.tmp9)
          to label %invoke.cont11 unwind label %lpad6

invoke.cont11:                                    ; preds = %invoke.cont10
  %13 = bitcast %"class.boost::unit_test::lazy_ostream_impl.26"* %ref.tmp5 to %"class.boost::unit_test::lazy_ostream"*
  %call14 = invoke zeroext i1 (%"class.boost::test_tools::predicate_result"*, %"class.boost::unit_test::lazy_ostream"*, %"class.boost::unit_test::basic_cstring"*, i32, i32, i32, i32, ...)* @_ZN5boost10test_tools9tt_detail10check_implERKNS0_16predicate_resultERKNS_9unit_test12lazy_ostreamENS5_13basic_cstringIKcEEjNS1_10tool_levelENS1_10check_typeEjz(%"class.boost::test_tools::predicate_result"* %ref.tmp, %"class.boost::unit_test::lazy_ostream"* %2, %"class.boost::unit_test::basic_cstring"* byval align 4 %agg.tmp, i32 %5, i32 %6, i32 %7, i32 2, i8* %8, %"class.boost::unit_test::lazy_ostream"* %10, i8* %11, %"class.boost::unit_test::lazy_ostream"* %13)
          to label %invoke.cont13 unwind label %lpad12

invoke.cont13:                                    ; preds = %invoke.cont11
  invoke void @_ZN5boost9unit_test17lazy_ostream_implIRKNS_10test_tools9tt_detail14print_helper_tIPvEEED1Ev(%"class.boost::unit_test::lazy_ostream_impl.26"* %ref.tmp5)
          to label %invoke.cont15 unwind label %lpad6

invoke.cont15:                                    ; preds = %invoke.cont13
  invoke void @_ZN5boost9unit_test17lazy_ostream_implIRKNS_10test_tools9tt_detail14print_helper_tIPSt18basic_stringstreamIcSt11char_traitsIcESaIcEEEEED1Ev(%"class.boost::unit_test::lazy_ostream_impl.30"* %ref.tmp1)
          to label %invoke.cont17 unwind label %lpad

invoke.cont17:                                    ; preds = %invoke.cont15
  call void @_ZN5boost10test_tools16predicate_resultD1Ev(%"class.boost::test_tools::predicate_result"* %ref.tmp)
  ret i1 %call14

lpad:                                             ; preds = %invoke.cont15, %invoke.cont3, %invoke.cont, %entry
  %14 = landingpad { i8*, i32 } personality i8* bitcast (i32 (...)* @__gxx_personality_v0 to i8*)
          cleanup
  %15 = extractvalue { i8*, i32 } %14, 0
  store i8* %15, i8** %exn.slot
  %16 = extractvalue { i8*, i32 } %14, 1
  store i32 %16, i32* %ehselector.slot
  br label %ehcleanup19

lpad6:                                            ; preds = %invoke.cont13, %invoke.cont10, %invoke.cont7, %invoke.cont4
  %17 = landingpad { i8*, i32 } personality i8* bitcast (i32 (...)* @__gxx_personality_v0 to i8*)
          cleanup
  %18 = extractvalue { i8*, i32 } %17, 0
  store i8* %18, i8** %exn.slot
  %19 = extractvalue { i8*, i32 } %17, 1
  store i32 %19, i32* %ehselector.slot
  br label %ehcleanup

lpad12:                                           ; preds = %invoke.cont11
  %20 = landingpad { i8*, i32 } personality i8* bitcast (i32 (...)* @__gxx_personality_v0 to i8*)
          cleanup
  %21 = extractvalue { i8*, i32 } %20, 0
  store i8* %21, i8** %exn.slot
  %22 = extractvalue { i8*, i32 } %20, 1
  store i32 %22, i32* %ehselector.slot
  invoke void @_ZN5boost9unit_test17lazy_ostream_implIRKNS_10test_tools9tt_detail14print_helper_tIPvEEED1Ev(%"class.boost::unit_test::lazy_ostream_impl.26"* %ref.tmp5)
          to label %invoke.cont16 unwind label %terminate.lpad

invoke.cont16:                                    ; preds = %lpad12
  br label %ehcleanup

ehcleanup:                                        ; preds = %invoke.cont16, %lpad6
  invoke void @_ZN5boost9unit_test17lazy_ostream_implIRKNS_10test_tools9tt_detail14print_helper_tIPSt18basic_stringstreamIcSt11char_traitsIcESaIcEEEEED1Ev(%"class.boost::unit_test::lazy_ostream_impl.30"* %ref.tmp1)
          to label %invoke.cont18 unwind label %terminate.lpad

invoke.cont18:                                    ; preds = %ehcleanup
  br label %ehcleanup19

ehcleanup19:                                      ; preds = %invoke.cont18, %lpad
  invoke void @_ZN5boost10test_tools16predicate_resultD1Ev(%"class.boost::test_tools::predicate_result"* %ref.tmp)
          to label %invoke.cont20 unwind label %terminate.lpad

invoke.cont20:                                    ; preds = %ehcleanup19
  br label %eh.resume

eh.resume:                                        ; preds = %invoke.cont20
  %exn = load i8** %exn.slot
  %sel = load i32* %ehselector.slot
  %lpad.val = insertvalue { i8*, i32 } undef, i8* %exn, 0
  %lpad.val21 = insertvalue { i8*, i32 } %lpad.val, i32 %sel, 1
  resume { i8*, i32 } %lpad.val21

terminate.lpad:                                   ; preds = %ehcleanup19, %ehcleanup, %lpad12
  %23 = landingpad { i8*, i32 } personality i8* bitcast (i32 (...)* @__gxx_personality_v0 to i8*)
          catch i8* null
  call void @_ZSt9terminatev() noreturn nounwind
  unreachable
}

define linkonce_odr void @_ZN5boost2io15ios_pword_saverD1Ev(%"class.boost::io::ios_pword_saver"* %this) unnamed_addr align 2 {
entry:
  %this.addr = alloca %"class.boost::io::ios_pword_saver"*, align 4
  store %"class.boost::io::ios_pword_saver"* %this, %"class.boost::io::ios_pword_saver"** %this.addr, align 4
  %this1 = load %"class.boost::io::ios_pword_saver"** %this.addr
  call void @_ZN5boost2io15ios_pword_saverD2Ev(%"class.boost::io::ios_pword_saver"* %this1)
  ret void
}

define linkonce_odr void @_ZN5boost2io15ios_pword_saverC1ERSt8ios_baseiRKPv(%"class.boost::io::ios_pword_saver"* %this, %"class.std::ios_base"* %s, i32 %i, i8** %a) unnamed_addr align 2 {
entry:
  %this.addr = alloca %"class.boost::io::ios_pword_saver"*, align 4
  %s.addr = alloca %"class.std::ios_base"*, align 4
  %i.addr = alloca i32, align 4
  %a.addr = alloca i8**, align 4
  store %"class.boost::io::ios_pword_saver"* %this, %"class.boost::io::ios_pword_saver"** %this.addr, align 4
  store %"class.std::ios_base"* %s, %"class.std::ios_base"** %s.addr, align 4
  store i32 %i, i32* %i.addr, align 4
  store i8** %a, i8*** %a.addr, align 4
  %this1 = load %"class.boost::io::ios_pword_saver"** %this.addr
  %0 = load i32* %i.addr, align 4
  %1 = load i8*** %a.addr
  %2 = load %"class.std::ios_base"** %s.addr
  call void @_ZN5boost2io15ios_pword_saverC2ERSt8ios_baseiRKPv(%"class.boost::io::ios_pword_saver"* %this1, %"class.std::ios_base"* %2, i32 %0, i8** %1)
  ret void
}

declare %"class.std::basic_stringbuf"* @_ZNKSt18basic_stringstreamIcSt11char_traitsIcESaIcEE5rdbufEv(%"class.std::basic_stringstream"*)

define linkonce_odr zeroext i1 @_ZN5boost10test_tools9tt_detail10check_frwdINS1_15equal_impl_frwdEPSt15basic_stringbufIcSt11char_traitsIcESaIcEEPvEEbT_RKNS_9unit_test12lazy_ostreamENSC_13basic_cstringIKcEEjNS1_10tool_levelENS1_10check_typeERKT0_PSH_RKT1_SO_(%"class.boost::unit_test::lazy_ostream"* %check_descr, %"class.boost::unit_test::basic_cstring"* byval align 4 %file_name, i32 %line_num, i32 %tl, i32 %ct, %"class.std::basic_stringbuf"** %arg0, i8* %arg0_descr, i8** %arg1, i8* %arg1_descr) inlinehint {
entry:
  %P = alloca %"struct.boost::test_tools::tt_detail::equal_impl_frwd", align 1
  %check_descr.addr = alloca %"class.boost::unit_test::lazy_ostream"*, align 4
  %line_num.addr = alloca i32, align 4
  %tl.addr = alloca i32, align 4
  %ct.addr = alloca i32, align 4
  %arg0.addr = alloca %"class.std::basic_stringbuf"**, align 4
  %arg0_descr.addr = alloca i8*, align 4
  %arg1.addr = alloca i8**, align 4
  %arg1_descr.addr = alloca i8*, align 4
  %ref.tmp = alloca %"class.boost::test_tools::predicate_result", align 4
  %agg.tmp = alloca %"class.boost::unit_test::basic_cstring", align 4
  %ref.tmp1 = alloca %"class.boost::unit_test::lazy_ostream_impl.24", align 4
  %exn.slot = alloca i8*
  %ehselector.slot = alloca i32
  %ref.tmp2 = alloca %"struct.boost::test_tools::tt_detail::print_helper_t.25", align 4
  %ref.tmp5 = alloca %"class.boost::unit_test::lazy_ostream_impl.26", align 4
  %ref.tmp9 = alloca %"struct.boost::test_tools::tt_detail::print_helper_t.27", align 4
  store %"class.boost::unit_test::lazy_ostream"* %check_descr, %"class.boost::unit_test::lazy_ostream"** %check_descr.addr, align 4
  store i32 %line_num, i32* %line_num.addr, align 4
  store i32 %tl, i32* %tl.addr, align 4
  store i32 %ct, i32* %ct.addr, align 4
  store %"class.std::basic_stringbuf"** %arg0, %"class.std::basic_stringbuf"*** %arg0.addr, align 4
  store i8* %arg0_descr, i8** %arg0_descr.addr, align 4
  store i8** %arg1, i8*** %arg1.addr, align 4
  store i8* %arg1_descr, i8** %arg1_descr.addr, align 4
  %0 = load %"class.std::basic_stringbuf"*** %arg0.addr, align 4
  %1 = load i8*** %arg1.addr, align 4
  call void @_ZNK5boost10test_tools9tt_detail15equal_impl_frwdclIPSt15basic_stringbufIcSt11char_traitsIcESaIcEEPvEENS0_16predicate_resultERKT_RKT0_(%"class.boost::test_tools::predicate_result"* sret %ref.tmp, %"struct.boost::test_tools::tt_detail::equal_impl_frwd"* %P, %"class.std::basic_stringbuf"** %0, i8** %1)
  %2 = load %"class.boost::unit_test::lazy_ostream"** %check_descr.addr, align 4
  %3 = bitcast %"class.boost::unit_test::basic_cstring"* %agg.tmp to i8*
  %4 = bitcast %"class.boost::unit_test::basic_cstring"* %file_name to i8*
  call void @llvm.memcpy.p0i8.p0i8.i32(i8* %3, i8* %4, i32 8, i32 4, i1 false)
  %5 = load i32* %line_num.addr, align 4
  %6 = load i32* %tl.addr, align 4
  %7 = load i32* %ct.addr, align 4
  %8 = load i8** %arg0_descr.addr, align 4
  %call = invoke %"class.boost::unit_test::lazy_ostream"* @_ZN5boost9unit_test12lazy_ostream8instanceEv()
          to label %invoke.cont unwind label %lpad

invoke.cont:                                      ; preds = %entry
  %9 = load %"class.std::basic_stringbuf"*** %arg0.addr, align 4
  invoke void @_ZN5boost10test_tools9tt_detail12print_helperIPSt15basic_stringbufIcSt11char_traitsIcESaIcEEEENS1_14print_helper_tIT_EERKSA_(%"struct.boost::test_tools::tt_detail::print_helper_t.25"* sret %ref.tmp2, %"class.std::basic_stringbuf"** %9)
          to label %invoke.cont3 unwind label %lpad

invoke.cont3:                                     ; preds = %invoke.cont
  invoke void @_ZN5boost9unit_testlsINS_10test_tools9tt_detail14print_helper_tIPSt15basic_stringbufIcSt11char_traitsIcESaIcEEEEEENS0_17lazy_ostream_implIRKT_EERKNS0_12lazy_ostreamESF_(%"class.boost::unit_test::lazy_ostream_impl.24"* sret %ref.tmp1, %"class.boost::unit_test::lazy_ostream"* %call, %"struct.boost::test_tools::tt_detail::print_helper_t.25"* %ref.tmp2)
          to label %invoke.cont4 unwind label %lpad

invoke.cont4:                                     ; preds = %invoke.cont3
  %10 = bitcast %"class.boost::unit_test::lazy_ostream_impl.24"* %ref.tmp1 to %"class.boost::unit_test::lazy_ostream"*
  %11 = load i8** %arg1_descr.addr, align 4
  %call8 = invoke %"class.boost::unit_test::lazy_ostream"* @_ZN5boost9unit_test12lazy_ostream8instanceEv()
          to label %invoke.cont7 unwind label %lpad6

invoke.cont7:                                     ; preds = %invoke.cont4
  %12 = load i8*** %arg1.addr, align 4
  invoke void @_ZN5boost10test_tools9tt_detail12print_helperIPvEENS1_14print_helper_tIT_EERKS5_(%"struct.boost::test_tools::tt_detail::print_helper_t.27"* sret %ref.tmp9, i8** %12)
          to label %invoke.cont10 unwind label %lpad6

invoke.cont10:                                    ; preds = %invoke.cont7
  invoke void @_ZN5boost9unit_testlsINS_10test_tools9tt_detail14print_helper_tIPvEEEENS0_17lazy_ostream_implIRKT_EERKNS0_12lazy_ostreamESA_(%"class.boost::unit_test::lazy_ostream_impl.26"* sret %ref.tmp5, %"class.boost::unit_test::lazy_ostream"* %call8, %"struct.boost::test_tools::tt_detail::print_helper_t.27"* %ref.tmp9)
          to label %invoke.cont11 unwind label %lpad6

invoke.cont11:                                    ; preds = %invoke.cont10
  %13 = bitcast %"class.boost::unit_test::lazy_ostream_impl.26"* %ref.tmp5 to %"class.boost::unit_test::lazy_ostream"*
  %call14 = invoke zeroext i1 (%"class.boost::test_tools::predicate_result"*, %"class.boost::unit_test::lazy_ostream"*, %"class.boost::unit_test::basic_cstring"*, i32, i32, i32, i32, ...)* @_ZN5boost10test_tools9tt_detail10check_implERKNS0_16predicate_resultERKNS_9unit_test12lazy_ostreamENS5_13basic_cstringIKcEEjNS1_10tool_levelENS1_10check_typeEjz(%"class.boost::test_tools::predicate_result"* %ref.tmp, %"class.boost::unit_test::lazy_ostream"* %2, %"class.boost::unit_test::basic_cstring"* byval align 4 %agg.tmp, i32 %5, i32 %6, i32 %7, i32 2, i8* %8, %"class.boost::unit_test::lazy_ostream"* %10, i8* %11, %"class.boost::unit_test::lazy_ostream"* %13)
          to label %invoke.cont13 unwind label %lpad12

invoke.cont13:                                    ; preds = %invoke.cont11
  invoke void @_ZN5boost9unit_test17lazy_ostream_implIRKNS_10test_tools9tt_detail14print_helper_tIPvEEED1Ev(%"class.boost::unit_test::lazy_ostream_impl.26"* %ref.tmp5)
          to label %invoke.cont15 unwind label %lpad6

invoke.cont15:                                    ; preds = %invoke.cont13
  invoke void @_ZN5boost9unit_test17lazy_ostream_implIRKNS_10test_tools9tt_detail14print_helper_tIPSt15basic_stringbufIcSt11char_traitsIcESaIcEEEEED1Ev(%"class.boost::unit_test::lazy_ostream_impl.24"* %ref.tmp1)
          to label %invoke.cont17 unwind label %lpad

invoke.cont17:                                    ; preds = %invoke.cont15
  call void @_ZN5boost10test_tools16predicate_resultD1Ev(%"class.boost::test_tools::predicate_result"* %ref.tmp)
  ret i1 %call14

lpad:                                             ; preds = %invoke.cont15, %invoke.cont3, %invoke.cont, %entry
  %14 = landingpad { i8*, i32 } personality i8* bitcast (i32 (...)* @__gxx_personality_v0 to i8*)
          cleanup
  %15 = extractvalue { i8*, i32 } %14, 0
  store i8* %15, i8** %exn.slot
  %16 = extractvalue { i8*, i32 } %14, 1
  store i32 %16, i32* %ehselector.slot
  br label %ehcleanup19

lpad6:                                            ; preds = %invoke.cont13, %invoke.cont10, %invoke.cont7, %invoke.cont4
  %17 = landingpad { i8*, i32 } personality i8* bitcast (i32 (...)* @__gxx_personality_v0 to i8*)
          cleanup
  %18 = extractvalue { i8*, i32 } %17, 0
  store i8* %18, i8** %exn.slot
  %19 = extractvalue { i8*, i32 } %17, 1
  store i32 %19, i32* %ehselector.slot
  br label %ehcleanup

lpad12:                                           ; preds = %invoke.cont11
  %20 = landingpad { i8*, i32 } personality i8* bitcast (i32 (...)* @__gxx_personality_v0 to i8*)
          cleanup
  %21 = extractvalue { i8*, i32 } %20, 0
  store i8* %21, i8** %exn.slot
  %22 = extractvalue { i8*, i32 } %20, 1
  store i32 %22, i32* %ehselector.slot
  invoke void @_ZN5boost9unit_test17lazy_ostream_implIRKNS_10test_tools9tt_detail14print_helper_tIPvEEED1Ev(%"class.boost::unit_test::lazy_ostream_impl.26"* %ref.tmp5)
          to label %invoke.cont16 unwind label %terminate.lpad

invoke.cont16:                                    ; preds = %lpad12
  br label %ehcleanup

ehcleanup:                                        ; preds = %invoke.cont16, %lpad6
  invoke void @_ZN5boost9unit_test17lazy_ostream_implIRKNS_10test_tools9tt_detail14print_helper_tIPSt15basic_stringbufIcSt11char_traitsIcESaIcEEEEED1Ev(%"class.boost::unit_test::lazy_ostream_impl.24"* %ref.tmp1)
          to label %invoke.cont18 unwind label %terminate.lpad

invoke.cont18:                                    ; preds = %ehcleanup
  br label %ehcleanup19

ehcleanup19:                                      ; preds = %invoke.cont18, %lpad
  invoke void @_ZN5boost10test_tools16predicate_resultD1Ev(%"class.boost::test_tools::predicate_result"* %ref.tmp)
          to label %invoke.cont20 unwind label %terminate.lpad

invoke.cont20:                                    ; preds = %ehcleanup19
  br label %eh.resume

eh.resume:                                        ; preds = %invoke.cont20
  %exn = load i8** %exn.slot
  %sel = load i32* %ehselector.slot
  %lpad.val = insertvalue { i8*, i32 } undef, i8* %exn, 0
  %lpad.val21 = insertvalue { i8*, i32 } %lpad.val, i32 %sel, 1
  resume { i8*, i32 } %lpad.val21

terminate.lpad:                                   ; preds = %ehcleanup19, %ehcleanup, %lpad12
  %23 = landingpad { i8*, i32 } personality i8* bitcast (i32 (...)* @__gxx_personality_v0 to i8*)
          catch i8* null
  call void @_ZSt9terminatev() noreturn nounwind
  unreachable
}

define void @_Z28ios_base_all_saver_unit_testv() {
entry:
  %ss = alloca %"class.std::basic_stringstream", align 4
  %agg.tmp = alloca %"class.boost::unit_test::basic_cstring", align 4
  %exn.slot = alloca i8*
  %ehselector.slot = alloca i32
  %agg.tmp1 = alloca %"class.boost::unit_test::basic_cstring", align 4
  %agg.tmp4 = alloca %"struct.boost::test_tools::tt_detail::equal_impl_frwd", align 1
  %ref.tmp = alloca %"class.boost::unit_test::lazy_ostream_impl", align 4
  %agg.tmp8 = alloca %"class.boost::unit_test::basic_cstring", align 4
  %ref.tmp13 = alloca i32, align 4
  %ref.tmp16 = alloca i32, align 4
  %agg.tmp22 = alloca %"class.boost::unit_test::basic_cstring", align 4
  %agg.tmp24 = alloca %"class.boost::unit_test::basic_cstring", align 4
  %agg.tmp27 = alloca %"struct.boost::test_tools::tt_detail::equal_impl_frwd", align 1
  %ref.tmp28 = alloca %"class.boost::unit_test::lazy_ostream_impl", align 4
  %agg.tmp32 = alloca %"class.boost::unit_test::basic_cstring", align 4
  %ref.tmp35 = alloca i32, align 4
  %ref.tmp42 = alloca i32, align 4
  %agg.tmp51 = alloca %"class.boost::unit_test::basic_cstring", align 4
  %agg.tmp53 = alloca %"class.boost::unit_test::basic_cstring", align 4
  %agg.tmp56 = alloca %"struct.boost::test_tools::tt_detail::equal_impl_frwd", align 1
  %ref.tmp57 = alloca %"class.boost::unit_test::lazy_ostream_impl", align 4
  %agg.tmp61 = alloca %"class.boost::unit_test::basic_cstring", align 4
  %ref.tmp64 = alloca i32, align 4
  %ref.tmp71 = alloca i32, align 4
  %ibas = alloca %"class.boost::io::ios_base_all_saver", align 4
  %agg.tmp85 = alloca %"class.boost::unit_test::basic_cstring", align 4
  %agg.tmp88 = alloca %"class.boost::unit_test::basic_cstring", align 4
  %agg.tmp91 = alloca %"struct.boost::test_tools::tt_detail::equal_impl_frwd", align 1
  %ref.tmp92 = alloca %"class.boost::unit_test::lazy_ostream_impl", align 4
  %agg.tmp96 = alloca %"class.boost::unit_test::basic_cstring", align 4
  %ref.tmp101 = alloca i32, align 4
  %ref.tmp108 = alloca i32, align 4
  %agg.tmp117 = alloca %"class.boost::unit_test::basic_cstring", align 4
  %agg.tmp119 = alloca %"class.boost::unit_test::basic_cstring", align 4
  %agg.tmp122 = alloca %"struct.boost::test_tools::tt_detail::equal_impl_frwd", align 1
  %ref.tmp123 = alloca %"class.boost::unit_test::lazy_ostream_impl", align 4
  %agg.tmp127 = alloca %"class.boost::unit_test::basic_cstring", align 4
  %ref.tmp130 = alloca i32, align 4
  %ref.tmp137 = alloca i32, align 4
  %agg.tmp146 = alloca %"class.boost::unit_test::basic_cstring", align 4
  %agg.tmp148 = alloca %"class.boost::unit_test::basic_cstring", align 4
  %agg.tmp151 = alloca %"struct.boost::test_tools::tt_detail::equal_impl_frwd", align 1
  %ref.tmp152 = alloca %"class.boost::unit_test::lazy_ostream_impl", align 4
  %agg.tmp156 = alloca %"class.boost::unit_test::basic_cstring", align 4
  %ref.tmp159 = alloca i32, align 4
  %ref.tmp166 = alloca i32, align 4
  %agg.tmp179 = alloca %"struct.std::_Setprecision", align 4
  %agg.tmp183 = alloca %"struct.std::_Setw", align 4
  %agg.tmp188 = alloca %"class.boost::unit_test::basic_cstring", align 4
  %agg.tmp190 = alloca %"class.boost::unit_test::basic_cstring", align 4
  %agg.tmp193 = alloca %"struct.boost::test_tools::tt_detail::equal_impl_frwd", align 1
  %ref.tmp194 = alloca %"class.boost::unit_test::lazy_ostream_impl", align 4
  %agg.tmp198 = alloca %"class.boost::unit_test::basic_cstring", align 4
  %ref.tmp205 = alloca i32, align 4
  %ref.tmp212 = alloca i32, align 4
  %agg.tmp221 = alloca %"class.boost::unit_test::basic_cstring", align 4
  %agg.tmp223 = alloca %"class.boost::unit_test::basic_cstring", align 4
  %agg.tmp226 = alloca %"struct.boost::test_tools::tt_detail::equal_impl_frwd", align 1
  %ref.tmp227 = alloca %"class.boost::unit_test::lazy_ostream_impl", align 4
  %agg.tmp231 = alloca %"class.boost::unit_test::basic_cstring", align 4
  %ref.tmp234 = alloca i32, align 4
  %ref.tmp241 = alloca i32, align 4
  %agg.tmp250 = alloca %"class.boost::unit_test::basic_cstring", align 4
  %agg.tmp252 = alloca %"class.boost::unit_test::basic_cstring", align 4
  %agg.tmp255 = alloca %"struct.boost::test_tools::tt_detail::equal_impl_frwd", align 1
  %ref.tmp256 = alloca %"class.boost::unit_test::lazy_ostream_impl", align 4
  %agg.tmp260 = alloca %"class.boost::unit_test::basic_cstring", align 4
  %ref.tmp263 = alloca i32, align 4
  %ref.tmp270 = alloca i32, align 4
  %agg.tmp281 = alloca %"class.boost::unit_test::basic_cstring", align 4
  %agg.tmp283 = alloca %"class.boost::unit_test::basic_cstring", align 4
  %agg.tmp286 = alloca %"struct.boost::test_tools::tt_detail::equal_impl_frwd", align 1
  %ref.tmp287 = alloca %"class.boost::unit_test::lazy_ostream_impl", align 4
  %agg.tmp291 = alloca %"class.boost::unit_test::basic_cstring", align 4
  %ref.tmp296 = alloca i32, align 4
  %ref.tmp303 = alloca i32, align 4
  %agg.tmp313 = alloca %"class.boost::unit_test::basic_cstring", align 4
  %agg.tmp315 = alloca %"class.boost::unit_test::basic_cstring", align 4
  %agg.tmp318 = alloca %"struct.boost::test_tools::tt_detail::equal_impl_frwd", align 1
  %ref.tmp319 = alloca %"class.boost::unit_test::lazy_ostream_impl", align 4
  %agg.tmp323 = alloca %"class.boost::unit_test::basic_cstring", align 4
  %ref.tmp326 = alloca i32, align 4
  %ref.tmp333 = alloca i32, align 4
  %agg.tmp343 = alloca %"class.boost::unit_test::basic_cstring", align 4
  %agg.tmp345 = alloca %"class.boost::unit_test::basic_cstring", align 4
  %agg.tmp348 = alloca %"struct.boost::test_tools::tt_detail::equal_impl_frwd", align 1
  %ref.tmp349 = alloca %"class.boost::unit_test::lazy_ostream_impl", align 4
  %agg.tmp353 = alloca %"class.boost::unit_test::basic_cstring", align 4
  %ref.tmp356 = alloca i32, align 4
  %ref.tmp363 = alloca i32, align 4
  %call = call i32 @_ZStorSt13_Ios_OpenmodeS_(i32 16, i32 8)
  call void @_ZNSt18basic_stringstreamIcSt11char_traitsIcESaIcEEC1ESt13_Ios_Openmode(%"class.std::basic_stringstream"* %ss, i32 %call)
  br label %do.body

do.body:                                          ; preds = %do.cond, %entry
  %0 = load %"class.boost::unit_test::unit_test_log_t"** @_ZN5boost9unit_test12_GLOBAL__N_113unit_test_logE, align 4
  invoke void @_ZN5boost9unit_test13basic_cstringIKcEC1EPS2_j(%"class.boost::unit_test::basic_cstring"* %agg.tmp, i8* getelementptr inbounds ([24 x i8]* @.str, i32 0, i32 0), i32 23)
          to label %invoke.cont unwind label %lpad

invoke.cont:                                      ; preds = %do.body
  invoke void @_ZN5boost9unit_test13basic_cstringIKcEC1Ev(%"class.boost::unit_test::basic_cstring"* %agg.tmp1)
          to label %invoke.cont2 unwind label %lpad

invoke.cont2:                                     ; preds = %invoke.cont
  invoke void @_ZN5boost9unit_test15unit_test_log_t14set_checkpointENS0_13basic_cstringIKcEEjS4_(%"class.boost::unit_test::unit_test_log_t"* %0, %"class.boost::unit_test::basic_cstring"* byval align 4 %agg.tmp, i32 499, %"class.boost::unit_test::basic_cstring"* byval align 4 %agg.tmp1)
          to label %invoke.cont3 unwind label %lpad

invoke.cont3:                                     ; preds = %invoke.cont2
  %call6 = invoke %"class.boost::unit_test::lazy_ostream"* @_ZN5boost9unit_test12lazy_ostream8instanceEv()
          to label %invoke.cont5 unwind label %lpad

invoke.cont5:                                     ; preds = %invoke.cont3
  invoke void @_ZN5boost9unit_testlsIA1_cEENS0_17lazy_ostream_implIRKT_EERKNS0_12lazy_ostreamES6_(%"class.boost::unit_test::lazy_ostream_impl"* sret %ref.tmp, %"class.boost::unit_test::lazy_ostream"* %call6, [1 x i8]* @.str3)
          to label %invoke.cont7 unwind label %lpad

invoke.cont7:                                     ; preds = %invoke.cont5
  %1 = bitcast %"class.boost::unit_test::lazy_ostream_impl"* %ref.tmp to %"class.boost::unit_test::lazy_ostream"*
  invoke void @_ZN5boost9unit_test13basic_cstringIKcEC1EPS2_j(%"class.boost::unit_test::basic_cstring"* %agg.tmp8, i8* getelementptr inbounds ([24 x i8]* @.str, i32 0, i32 0), i32 23)
          to label %invoke.cont10 unwind label %lpad9

invoke.cont10:                                    ; preds = %invoke.cont7
  %call12 = invoke i32 @_ZStorSt13_Ios_FmtflagsS_(i32 4096, i32 2)
          to label %invoke.cont11 unwind label %lpad9

invoke.cont11:                                    ; preds = %invoke.cont10
  store i32 %call12, i32* %ref.tmp13, align 4
  %2 = bitcast %"class.std::basic_stringstream"* %ss to i8**
  %vtable = load i8** %2
  %vbase.offset.ptr = getelementptr i8* %vtable, i64 -12
  %3 = bitcast i8* %vbase.offset.ptr to i32*
  %vbase.offset = load i32* %3
  %4 = bitcast %"class.std::basic_stringstream"* %ss to i8*
  %add.ptr = getelementptr inbounds i8* %4, i32 %vbase.offset
  %5 = bitcast i8* %add.ptr to %"class.std::ios_base"*
  %call15 = invoke i32 @_ZNKSt8ios_base5flagsEv(%"class.std::ios_base"* %5)
          to label %invoke.cont14 unwind label %lpad9

invoke.cont14:                                    ; preds = %invoke.cont11
  store i32 %call15, i32* %ref.tmp16, align 4
  %call18 = invoke zeroext i1 @_ZN5boost10test_tools9tt_detail10check_frwdINS1_15equal_impl_frwdESt13_Ios_FmtflagsS4_EEbT_RKNS_9unit_test12lazy_ostreamENS6_13basic_cstringIKcEEjNS1_10tool_levelENS1_10check_typeERKT0_PSB_RKT1_SI_(%"class.boost::unit_test::lazy_ostream"* %1, %"class.boost::unit_test::basic_cstring"* byval align 4 %agg.tmp8, i32 499, i32 1, i32 2, i32* %ref.tmp13, i8* getelementptr inbounds ([35 x i8]* @.str4, i32 0, i32 0), i32* %ref.tmp16, i8* getelementptr inbounds ([11 x i8]* @.str5, i32 0, i32 0))
          to label %invoke.cont17 unwind label %lpad9

invoke.cont17:                                    ; preds = %invoke.cont14
  invoke void @_ZN5boost9unit_test17lazy_ostream_implIRA1_KcED1Ev(%"class.boost::unit_test::lazy_ostream_impl"* %ref.tmp)
          to label %invoke.cont19 unwind label %lpad

invoke.cont19:                                    ; preds = %invoke.cont17
  br label %do.cond

do.cond:                                          ; preds = %invoke.cont19
  %6 = load i8* @_ZN5boost10test_tools12_GLOBAL__N_110dummy_condE, align 1
  %tobool = trunc i8 %6 to i1
  br i1 %tobool, label %do.body, label %do.end

do.end:                                           ; preds = %do.cond
  br label %do.body21

do.body21:                                        ; preds = %do.cond47, %do.end
  %7 = load %"class.boost::unit_test::unit_test_log_t"** @_ZN5boost9unit_test12_GLOBAL__N_113unit_test_logE, align 4
  invoke void @_ZN5boost9unit_test13basic_cstringIKcEC1EPS2_j(%"class.boost::unit_test::basic_cstring"* %agg.tmp22, i8* getelementptr inbounds ([24 x i8]* @.str, i32 0, i32 0), i32 23)
          to label %invoke.cont23 unwind label %lpad

invoke.cont23:                                    ; preds = %do.body21
  invoke void @_ZN5boost9unit_test13basic_cstringIKcEC1Ev(%"class.boost::unit_test::basic_cstring"* %agg.tmp24)
          to label %invoke.cont25 unwind label %lpad

invoke.cont25:                                    ; preds = %invoke.cont23
  invoke void @_ZN5boost9unit_test15unit_test_log_t14set_checkpointENS0_13basic_cstringIKcEEjS4_(%"class.boost::unit_test::unit_test_log_t"* %7, %"class.boost::unit_test::basic_cstring"* byval align 4 %agg.tmp22, i32 500, %"class.boost::unit_test::basic_cstring"* byval align 4 %agg.tmp24)
          to label %invoke.cont26 unwind label %lpad

invoke.cont26:                                    ; preds = %invoke.cont25
  %call30 = invoke %"class.boost::unit_test::lazy_ostream"* @_ZN5boost9unit_test12lazy_ostream8instanceEv()
          to label %invoke.cont29 unwind label %lpad

invoke.cont29:                                    ; preds = %invoke.cont26
  invoke void @_ZN5boost9unit_testlsIA1_cEENS0_17lazy_ostream_implIRKT_EERKNS0_12lazy_ostreamES6_(%"class.boost::unit_test::lazy_ostream_impl"* sret %ref.tmp28, %"class.boost::unit_test::lazy_ostream"* %call30, [1 x i8]* @.str3)
          to label %invoke.cont31 unwind label %lpad

invoke.cont31:                                    ; preds = %invoke.cont29
  %8 = bitcast %"class.boost::unit_test::lazy_ostream_impl"* %ref.tmp28 to %"class.boost::unit_test::lazy_ostream"*
  invoke void @_ZN5boost9unit_test13basic_cstringIKcEC1EPS2_j(%"class.boost::unit_test::basic_cstring"* %agg.tmp32, i8* getelementptr inbounds ([24 x i8]* @.str, i32 0, i32 0), i32 23)
          to label %invoke.cont34 unwind label %lpad33

invoke.cont34:                                    ; preds = %invoke.cont31
  store i32 6, i32* %ref.tmp35, align 4
  %9 = bitcast %"class.std::basic_stringstream"* %ss to i8**
  %vtable36 = load i8** %9
  %vbase.offset.ptr37 = getelementptr i8* %vtable36, i64 -12
  %10 = bitcast i8* %vbase.offset.ptr37 to i32*
  %vbase.offset38 = load i32* %10
  %11 = bitcast %"class.std::basic_stringstream"* %ss to i8*
  %add.ptr39 = getelementptr inbounds i8* %11, i32 %vbase.offset38
  %12 = bitcast i8* %add.ptr39 to %"class.std::ios_base"*
  %call41 = invoke i32 @_ZNKSt8ios_base9precisionEv(%"class.std::ios_base"* %12)
          to label %invoke.cont40 unwind label %lpad33

invoke.cont40:                                    ; preds = %invoke.cont34
  store i32 %call41, i32* %ref.tmp42, align 4
  %call44 = invoke zeroext i1 @_ZN5boost10test_tools9tt_detail10check_frwdINS1_15equal_impl_frwdEiiEEbT_RKNS_9unit_test12lazy_ostreamENS5_13basic_cstringIKcEEjNS1_10tool_levelENS1_10check_typeERKT0_PSA_RKT1_SH_(%"class.boost::unit_test::lazy_ostream"* %8, %"class.boost::unit_test::basic_cstring"* byval align 4 %agg.tmp32, i32 500, i32 1, i32 2, i32* %ref.tmp35, i8* getelementptr inbounds ([2 x i8]* @.str9, i32 0, i32 0), i32* %ref.tmp42, i8* getelementptr inbounds ([15 x i8]* @.str10, i32 0, i32 0))
          to label %invoke.cont43 unwind label %lpad33

invoke.cont43:                                    ; preds = %invoke.cont40
  invoke void @_ZN5boost9unit_test17lazy_ostream_implIRA1_KcED1Ev(%"class.boost::unit_test::lazy_ostream_impl"* %ref.tmp28)
          to label %invoke.cont45 unwind label %lpad

invoke.cont45:                                    ; preds = %invoke.cont43
  br label %do.cond47

do.cond47:                                        ; preds = %invoke.cont45
  %13 = load i8* @_ZN5boost10test_tools12_GLOBAL__N_110dummy_condE, align 1
  %tobool48 = trunc i8 %13 to i1
  br i1 %tobool48, label %do.body21, label %do.end49

do.end49:                                         ; preds = %do.cond47
  br label %do.body50

do.body50:                                        ; preds = %do.cond76, %do.end49
  %14 = load %"class.boost::unit_test::unit_test_log_t"** @_ZN5boost9unit_test12_GLOBAL__N_113unit_test_logE, align 4
  invoke void @_ZN5boost9unit_test13basic_cstringIKcEC1EPS2_j(%"class.boost::unit_test::basic_cstring"* %agg.tmp51, i8* getelementptr inbounds ([24 x i8]* @.str, i32 0, i32 0), i32 23)
          to label %invoke.cont52 unwind label %lpad

invoke.cont52:                                    ; preds = %do.body50
  invoke void @_ZN5boost9unit_test13basic_cstringIKcEC1Ev(%"class.boost::unit_test::basic_cstring"* %agg.tmp53)
          to label %invoke.cont54 unwind label %lpad

invoke.cont54:                                    ; preds = %invoke.cont52
  invoke void @_ZN5boost9unit_test15unit_test_log_t14set_checkpointENS0_13basic_cstringIKcEEjS4_(%"class.boost::unit_test::unit_test_log_t"* %14, %"class.boost::unit_test::basic_cstring"* byval align 4 %agg.tmp51, i32 501, %"class.boost::unit_test::basic_cstring"* byval align 4 %agg.tmp53)
          to label %invoke.cont55 unwind label %lpad

invoke.cont55:                                    ; preds = %invoke.cont54
  %call59 = invoke %"class.boost::unit_test::lazy_ostream"* @_ZN5boost9unit_test12lazy_ostream8instanceEv()
          to label %invoke.cont58 unwind label %lpad

invoke.cont58:                                    ; preds = %invoke.cont55
  invoke void @_ZN5boost9unit_testlsIA1_cEENS0_17lazy_ostream_implIRKT_EERKNS0_12lazy_ostreamES6_(%"class.boost::unit_test::lazy_ostream_impl"* sret %ref.tmp57, %"class.boost::unit_test::lazy_ostream"* %call59, [1 x i8]* @.str3)
          to label %invoke.cont60 unwind label %lpad

invoke.cont60:                                    ; preds = %invoke.cont58
  %15 = bitcast %"class.boost::unit_test::lazy_ostream_impl"* %ref.tmp57 to %"class.boost::unit_test::lazy_ostream"*
  invoke void @_ZN5boost9unit_test13basic_cstringIKcEC1EPS2_j(%"class.boost::unit_test::basic_cstring"* %agg.tmp61, i8* getelementptr inbounds ([24 x i8]* @.str, i32 0, i32 0), i32 23)
          to label %invoke.cont63 unwind label %lpad62

invoke.cont63:                                    ; preds = %invoke.cont60
  store i32 0, i32* %ref.tmp64, align 4
  %16 = bitcast %"class.std::basic_stringstream"* %ss to i8**
  %vtable65 = load i8** %16
  %vbase.offset.ptr66 = getelementptr i8* %vtable65, i64 -12
  %17 = bitcast i8* %vbase.offset.ptr66 to i32*
  %vbase.offset67 = load i32* %17
  %18 = bitcast %"class.std::basic_stringstream"* %ss to i8*
  %add.ptr68 = getelementptr inbounds i8* %18, i32 %vbase.offset67
  %19 = bitcast i8* %add.ptr68 to %"class.std::ios_base"*
  %call70 = invoke i32 @_ZNKSt8ios_base5widthEv(%"class.std::ios_base"* %19)
          to label %invoke.cont69 unwind label %lpad62

invoke.cont69:                                    ; preds = %invoke.cont63
  store i32 %call70, i32* %ref.tmp71, align 4
  %call73 = invoke zeroext i1 @_ZN5boost10test_tools9tt_detail10check_frwdINS1_15equal_impl_frwdEiiEEbT_RKNS_9unit_test12lazy_ostreamENS5_13basic_cstringIKcEEjNS1_10tool_levelENS1_10check_typeERKT0_PSA_RKT1_SH_(%"class.boost::unit_test::lazy_ostream"* %15, %"class.boost::unit_test::basic_cstring"* byval align 4 %agg.tmp61, i32 501, i32 1, i32 2, i32* %ref.tmp64, i8* getelementptr inbounds ([2 x i8]* @.str14, i32 0, i32 0), i32* %ref.tmp71, i8* getelementptr inbounds ([11 x i8]* @.str15, i32 0, i32 0))
          to label %invoke.cont72 unwind label %lpad62

invoke.cont72:                                    ; preds = %invoke.cont69
  invoke void @_ZN5boost9unit_test17lazy_ostream_implIRA1_KcED1Ev(%"class.boost::unit_test::lazy_ostream_impl"* %ref.tmp57)
          to label %invoke.cont74 unwind label %lpad

invoke.cont74:                                    ; preds = %invoke.cont72
  br label %do.cond76

do.cond76:                                        ; preds = %invoke.cont74
  %20 = load i8* @_ZN5boost10test_tools12_GLOBAL__N_110dummy_condE, align 1
  %tobool77 = trunc i8 %20 to i1
  br i1 %tobool77, label %do.body50, label %do.end78

do.end78:                                         ; preds = %do.cond76
  %21 = bitcast %"class.std::basic_stringstream"* %ss to i8**
  %vtable79 = load i8** %21
  %vbase.offset.ptr80 = getelementptr i8* %vtable79, i64 -12
  %22 = bitcast i8* %vbase.offset.ptr80 to i32*
  %vbase.offset81 = load i32* %22
  %23 = bitcast %"class.std::basic_stringstream"* %ss to i8*
  %add.ptr82 = getelementptr inbounds i8* %23, i32 %vbase.offset81
  %24 = bitcast i8* %add.ptr82 to %"class.std::ios_base"*
  invoke void @_ZN5boost2io18ios_base_all_saverC1ERSt8ios_base(%"class.boost::io::ios_base_all_saver"* %ibas, %"class.std::ios_base"* %24)
          to label %invoke.cont83 unwind label %lpad

invoke.cont83:                                    ; preds = %do.end78
  br label %do.body84

do.body84:                                        ; preds = %do.cond113, %invoke.cont83
  %25 = load %"class.boost::unit_test::unit_test_log_t"** @_ZN5boost9unit_test12_GLOBAL__N_113unit_test_logE, align 4
  invoke void @_ZN5boost9unit_test13basic_cstringIKcEC1EPS2_j(%"class.boost::unit_test::basic_cstring"* %agg.tmp85, i8* getelementptr inbounds ([24 x i8]* @.str, i32 0, i32 0), i32 23)
          to label %invoke.cont87 unwind label %lpad86

invoke.cont87:                                    ; preds = %do.body84
  invoke void @_ZN5boost9unit_test13basic_cstringIKcEC1Ev(%"class.boost::unit_test::basic_cstring"* %agg.tmp88)
          to label %invoke.cont89 unwind label %lpad86

invoke.cont89:                                    ; preds = %invoke.cont87
  invoke void @_ZN5boost9unit_test15unit_test_log_t14set_checkpointENS0_13basic_cstringIKcEEjS4_(%"class.boost::unit_test::unit_test_log_t"* %25, %"class.boost::unit_test::basic_cstring"* byval align 4 %agg.tmp85, i32 506, %"class.boost::unit_test::basic_cstring"* byval align 4 %agg.tmp88)
          to label %invoke.cont90 unwind label %lpad86

invoke.cont90:                                    ; preds = %invoke.cont89
  %call94 = invoke %"class.boost::unit_test::lazy_ostream"* @_ZN5boost9unit_test12lazy_ostream8instanceEv()
          to label %invoke.cont93 unwind label %lpad86

invoke.cont93:                                    ; preds = %invoke.cont90
  invoke void @_ZN5boost9unit_testlsIA1_cEENS0_17lazy_ostream_implIRKT_EERKNS0_12lazy_ostreamES6_(%"class.boost::unit_test::lazy_ostream_impl"* sret %ref.tmp92, %"class.boost::unit_test::lazy_ostream"* %call94, [1 x i8]* @.str3)
          to label %invoke.cont95 unwind label %lpad86

invoke.cont95:                                    ; preds = %invoke.cont93
  %26 = bitcast %"class.boost::unit_test::lazy_ostream_impl"* %ref.tmp92 to %"class.boost::unit_test::lazy_ostream"*
  invoke void @_ZN5boost9unit_test13basic_cstringIKcEC1EPS2_j(%"class.boost::unit_test::basic_cstring"* %agg.tmp96, i8* getelementptr inbounds ([24 x i8]* @.str, i32 0, i32 0), i32 23)
          to label %invoke.cont98 unwind label %lpad97

invoke.cont98:                                    ; preds = %invoke.cont95
  %call100 = invoke i32 @_ZStorSt13_Ios_FmtflagsS_(i32 4096, i32 2)
          to label %invoke.cont99 unwind label %lpad97

invoke.cont99:                                    ; preds = %invoke.cont98
  store i32 %call100, i32* %ref.tmp101, align 4
  %27 = bitcast %"class.std::basic_stringstream"* %ss to i8**
  %vtable102 = load i8** %27
  %vbase.offset.ptr103 = getelementptr i8* %vtable102, i64 -12
  %28 = bitcast i8* %vbase.offset.ptr103 to i32*
  %vbase.offset104 = load i32* %28
  %29 = bitcast %"class.std::basic_stringstream"* %ss to i8*
  %add.ptr105 = getelementptr inbounds i8* %29, i32 %vbase.offset104
  %30 = bitcast i8* %add.ptr105 to %"class.std::ios_base"*
  %call107 = invoke i32 @_ZNKSt8ios_base5flagsEv(%"class.std::ios_base"* %30)
          to label %invoke.cont106 unwind label %lpad97

invoke.cont106:                                   ; preds = %invoke.cont99
  store i32 %call107, i32* %ref.tmp108, align 4
  %call110 = invoke zeroext i1 @_ZN5boost10test_tools9tt_detail10check_frwdINS1_15equal_impl_frwdESt13_Ios_FmtflagsS4_EEbT_RKNS_9unit_test12lazy_ostreamENS6_13basic_cstringIKcEEjNS1_10tool_levelENS1_10check_typeERKT0_PSB_RKT1_SI_(%"class.boost::unit_test::lazy_ostream"* %26, %"class.boost::unit_test::basic_cstring"* byval align 4 %agg.tmp96, i32 506, i32 1, i32 2, i32* %ref.tmp101, i8* getelementptr inbounds ([35 x i8]* @.str4, i32 0, i32 0), i32* %ref.tmp108, i8* getelementptr inbounds ([11 x i8]* @.str5, i32 0, i32 0))
          to label %invoke.cont109 unwind label %lpad97

invoke.cont109:                                   ; preds = %invoke.cont106
  invoke void @_ZN5boost9unit_test17lazy_ostream_implIRA1_KcED1Ev(%"class.boost::unit_test::lazy_ostream_impl"* %ref.tmp92)
          to label %invoke.cont111 unwind label %lpad86

invoke.cont111:                                   ; preds = %invoke.cont109
  br label %do.cond113

do.cond113:                                       ; preds = %invoke.cont111
  %31 = load i8* @_ZN5boost10test_tools12_GLOBAL__N_110dummy_condE, align 1
  %tobool114 = trunc i8 %31 to i1
  br i1 %tobool114, label %do.body84, label %do.end115

do.end115:                                        ; preds = %do.cond113
  br label %do.body116

do.body116:                                       ; preds = %do.cond142, %do.end115
  %32 = load %"class.boost::unit_test::unit_test_log_t"** @_ZN5boost9unit_test12_GLOBAL__N_113unit_test_logE, align 4
  invoke void @_ZN5boost9unit_test13basic_cstringIKcEC1EPS2_j(%"class.boost::unit_test::basic_cstring"* %agg.tmp117, i8* getelementptr inbounds ([24 x i8]* @.str, i32 0, i32 0), i32 23)
          to label %invoke.cont118 unwind label %lpad86

invoke.cont118:                                   ; preds = %do.body116
  invoke void @_ZN5boost9unit_test13basic_cstringIKcEC1Ev(%"class.boost::unit_test::basic_cstring"* %agg.tmp119)
          to label %invoke.cont120 unwind label %lpad86

invoke.cont120:                                   ; preds = %invoke.cont118
  invoke void @_ZN5boost9unit_test15unit_test_log_t14set_checkpointENS0_13basic_cstringIKcEEjS4_(%"class.boost::unit_test::unit_test_log_t"* %32, %"class.boost::unit_test::basic_cstring"* byval align 4 %agg.tmp117, i32 507, %"class.boost::unit_test::basic_cstring"* byval align 4 %agg.tmp119)
          to label %invoke.cont121 unwind label %lpad86

invoke.cont121:                                   ; preds = %invoke.cont120
  %call125 = invoke %"class.boost::unit_test::lazy_ostream"* @_ZN5boost9unit_test12lazy_ostream8instanceEv()
          to label %invoke.cont124 unwind label %lpad86

invoke.cont124:                                   ; preds = %invoke.cont121
  invoke void @_ZN5boost9unit_testlsIA1_cEENS0_17lazy_ostream_implIRKT_EERKNS0_12lazy_ostreamES6_(%"class.boost::unit_test::lazy_ostream_impl"* sret %ref.tmp123, %"class.boost::unit_test::lazy_ostream"* %call125, [1 x i8]* @.str3)
          to label %invoke.cont126 unwind label %lpad86

invoke.cont126:                                   ; preds = %invoke.cont124
  %33 = bitcast %"class.boost::unit_test::lazy_ostream_impl"* %ref.tmp123 to %"class.boost::unit_test::lazy_ostream"*
  invoke void @_ZN5boost9unit_test13basic_cstringIKcEC1EPS2_j(%"class.boost::unit_test::basic_cstring"* %agg.tmp127, i8* getelementptr inbounds ([24 x i8]* @.str, i32 0, i32 0), i32 23)
          to label %invoke.cont129 unwind label %lpad128

invoke.cont129:                                   ; preds = %invoke.cont126
  store i32 6, i32* %ref.tmp130, align 4
  %34 = bitcast %"class.std::basic_stringstream"* %ss to i8**
  %vtable131 = load i8** %34
  %vbase.offset.ptr132 = getelementptr i8* %vtable131, i64 -12
  %35 = bitcast i8* %vbase.offset.ptr132 to i32*
  %vbase.offset133 = load i32* %35
  %36 = bitcast %"class.std::basic_stringstream"* %ss to i8*
  %add.ptr134 = getelementptr inbounds i8* %36, i32 %vbase.offset133
  %37 = bitcast i8* %add.ptr134 to %"class.std::ios_base"*
  %call136 = invoke i32 @_ZNKSt8ios_base9precisionEv(%"class.std::ios_base"* %37)
          to label %invoke.cont135 unwind label %lpad128

invoke.cont135:                                   ; preds = %invoke.cont129
  store i32 %call136, i32* %ref.tmp137, align 4
  %call139 = invoke zeroext i1 @_ZN5boost10test_tools9tt_detail10check_frwdINS1_15equal_impl_frwdEiiEEbT_RKNS_9unit_test12lazy_ostreamENS5_13basic_cstringIKcEEjNS1_10tool_levelENS1_10check_typeERKT0_PSA_RKT1_SH_(%"class.boost::unit_test::lazy_ostream"* %33, %"class.boost::unit_test::basic_cstring"* byval align 4 %agg.tmp127, i32 507, i32 1, i32 2, i32* %ref.tmp130, i8* getelementptr inbounds ([2 x i8]* @.str9, i32 0, i32 0), i32* %ref.tmp137, i8* getelementptr inbounds ([15 x i8]* @.str10, i32 0, i32 0))
          to label %invoke.cont138 unwind label %lpad128

invoke.cont138:                                   ; preds = %invoke.cont135
  invoke void @_ZN5boost9unit_test17lazy_ostream_implIRA1_KcED1Ev(%"class.boost::unit_test::lazy_ostream_impl"* %ref.tmp123)
          to label %invoke.cont140 unwind label %lpad86

invoke.cont140:                                   ; preds = %invoke.cont138
  br label %do.cond142

do.cond142:                                       ; preds = %invoke.cont140
  %38 = load i8* @_ZN5boost10test_tools12_GLOBAL__N_110dummy_condE, align 1
  %tobool143 = trunc i8 %38 to i1
  br i1 %tobool143, label %do.body116, label %do.end144

do.end144:                                        ; preds = %do.cond142
  br label %do.body145

do.body145:                                       ; preds = %do.cond171, %do.end144
  %39 = load %"class.boost::unit_test::unit_test_log_t"** @_ZN5boost9unit_test12_GLOBAL__N_113unit_test_logE, align 4
  invoke void @_ZN5boost9unit_test13basic_cstringIKcEC1EPS2_j(%"class.boost::unit_test::basic_cstring"* %agg.tmp146, i8* getelementptr inbounds ([24 x i8]* @.str, i32 0, i32 0), i32 23)
          to label %invoke.cont147 unwind label %lpad86

invoke.cont147:                                   ; preds = %do.body145
  invoke void @_ZN5boost9unit_test13basic_cstringIKcEC1Ev(%"class.boost::unit_test::basic_cstring"* %agg.tmp148)
          to label %invoke.cont149 unwind label %lpad86

invoke.cont149:                                   ; preds = %invoke.cont147
  invoke void @_ZN5boost9unit_test15unit_test_log_t14set_checkpointENS0_13basic_cstringIKcEEjS4_(%"class.boost::unit_test::unit_test_log_t"* %39, %"class.boost::unit_test::basic_cstring"* byval align 4 %agg.tmp146, i32 508, %"class.boost::unit_test::basic_cstring"* byval align 4 %agg.tmp148)
          to label %invoke.cont150 unwind label %lpad86

invoke.cont150:                                   ; preds = %invoke.cont149
  %call154 = invoke %"class.boost::unit_test::lazy_ostream"* @_ZN5boost9unit_test12lazy_ostream8instanceEv()
          to label %invoke.cont153 unwind label %lpad86

invoke.cont153:                                   ; preds = %invoke.cont150
  invoke void @_ZN5boost9unit_testlsIA1_cEENS0_17lazy_ostream_implIRKT_EERKNS0_12lazy_ostreamES6_(%"class.boost::unit_test::lazy_ostream_impl"* sret %ref.tmp152, %"class.boost::unit_test::lazy_ostream"* %call154, [1 x i8]* @.str3)
          to label %invoke.cont155 unwind label %lpad86

invoke.cont155:                                   ; preds = %invoke.cont153
  %40 = bitcast %"class.boost::unit_test::lazy_ostream_impl"* %ref.tmp152 to %"class.boost::unit_test::lazy_ostream"*
  invoke void @_ZN5boost9unit_test13basic_cstringIKcEC1EPS2_j(%"class.boost::unit_test::basic_cstring"* %agg.tmp156, i8* getelementptr inbounds ([24 x i8]* @.str, i32 0, i32 0), i32 23)
          to label %invoke.cont158 unwind label %lpad157

invoke.cont158:                                   ; preds = %invoke.cont155
  store i32 0, i32* %ref.tmp159, align 4
  %41 = bitcast %"class.std::basic_stringstream"* %ss to i8**
  %vtable160 = load i8** %41
  %vbase.offset.ptr161 = getelementptr i8* %vtable160, i64 -12
  %42 = bitcast i8* %vbase.offset.ptr161 to i32*
  %vbase.offset162 = load i32* %42
  %43 = bitcast %"class.std::basic_stringstream"* %ss to i8*
  %add.ptr163 = getelementptr inbounds i8* %43, i32 %vbase.offset162
  %44 = bitcast i8* %add.ptr163 to %"class.std::ios_base"*
  %call165 = invoke i32 @_ZNKSt8ios_base5widthEv(%"class.std::ios_base"* %44)
          to label %invoke.cont164 unwind label %lpad157

invoke.cont164:                                   ; preds = %invoke.cont158
  store i32 %call165, i32* %ref.tmp166, align 4
  %call168 = invoke zeroext i1 @_ZN5boost10test_tools9tt_detail10check_frwdINS1_15equal_impl_frwdEiiEEbT_RKNS_9unit_test12lazy_ostreamENS5_13basic_cstringIKcEEjNS1_10tool_levelENS1_10check_typeERKT0_PSA_RKT1_SH_(%"class.boost::unit_test::lazy_ostream"* %40, %"class.boost::unit_test::basic_cstring"* byval align 4 %agg.tmp156, i32 508, i32 1, i32 2, i32* %ref.tmp159, i8* getelementptr inbounds ([2 x i8]* @.str14, i32 0, i32 0), i32* %ref.tmp166, i8* getelementptr inbounds ([11 x i8]* @.str15, i32 0, i32 0))
          to label %invoke.cont167 unwind label %lpad157

invoke.cont167:                                   ; preds = %invoke.cont164
  invoke void @_ZN5boost9unit_test17lazy_ostream_implIRA1_KcED1Ev(%"class.boost::unit_test::lazy_ostream_impl"* %ref.tmp152)
          to label %invoke.cont169 unwind label %lpad86

invoke.cont169:                                   ; preds = %invoke.cont167
  br label %do.cond171

do.cond171:                                       ; preds = %invoke.cont169
  %45 = load i8* @_ZN5boost10test_tools12_GLOBAL__N_110dummy_condE, align 1
  %tobool172 = trunc i8 %45 to i1
  br i1 %tobool172, label %do.body145, label %do.end173

do.end173:                                        ; preds = %do.cond171
  %46 = bitcast %"class.std::basic_stringstream"* %ss to i8*
  %add.ptr174 = getelementptr inbounds i8* %46, i32 8
  %47 = bitcast i8* %add.ptr174 to %"class.std::basic_ostream"*
  %call176 = invoke %"class.std::basic_ostream"* @_ZNSolsEPFRSt8ios_baseS0_E(%"class.std::basic_ostream"* %47, %"class.std::ios_base"* (%"class.std::ios_base"*)* @_ZSt3hexRSt8ios_base)
          to label %invoke.cont175 unwind label %lpad86

invoke.cont175:                                   ; preds = %do.end173
  %call178 = invoke %"class.std::basic_ostream"* @_ZNSolsEPFRSt8ios_baseS0_E(%"class.std::basic_ostream"* %call176, %"class.std::ios_base"* (%"class.std::ios_base"*)* @_ZSt7unitbufRSt8ios_base)
          to label %invoke.cont177 unwind label %lpad86

invoke.cont177:                                   ; preds = %invoke.cont175
  invoke void @_ZSt12setprecisioni(%"struct.std::_Setprecision"* sret %agg.tmp179, i32 5)
          to label %invoke.cont180 unwind label %lpad86

invoke.cont180:                                   ; preds = %invoke.cont177
  %call182 = invoke %"class.std::basic_ostream"* @_ZStlsIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_St13_Setprecision(%"class.std::basic_ostream"* %call178, %"struct.std::_Setprecision"* byval align 4 %agg.tmp179)
          to label %invoke.cont181 unwind label %lpad86

invoke.cont181:                                   ; preds = %invoke.cont180
  invoke void @_ZSt4setwi(%"struct.std::_Setw"* sret %agg.tmp183, i32 7)
          to label %invoke.cont184 unwind label %lpad86

invoke.cont184:                                   ; preds = %invoke.cont181
  %call186 = invoke %"class.std::basic_ostream"* @_ZStlsIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_St5_Setw(%"class.std::basic_ostream"* %call182, %"struct.std::_Setw"* byval align 4 %agg.tmp183)
          to label %invoke.cont185 unwind label %lpad86

invoke.cont185:                                   ; preds = %invoke.cont184
  br label %do.body187

do.body187:                                       ; preds = %do.cond217, %invoke.cont185
  %48 = load %"class.boost::unit_test::unit_test_log_t"** @_ZN5boost9unit_test12_GLOBAL__N_113unit_test_logE, align 4
  invoke void @_ZN5boost9unit_test13basic_cstringIKcEC1EPS2_j(%"class.boost::unit_test::basic_cstring"* %agg.tmp188, i8* getelementptr inbounds ([24 x i8]* @.str, i32 0, i32 0), i32 23)
          to label %invoke.cont189 unwind label %lpad86

invoke.cont189:                                   ; preds = %do.body187
  invoke void @_ZN5boost9unit_test13basic_cstringIKcEC1Ev(%"class.boost::unit_test::basic_cstring"* %agg.tmp190)
          to label %invoke.cont191 unwind label %lpad86

invoke.cont191:                                   ; preds = %invoke.cont189
  invoke void @_ZN5boost9unit_test15unit_test_log_t14set_checkpointENS0_13basic_cstringIKcEEjS4_(%"class.boost::unit_test::unit_test_log_t"* %48, %"class.boost::unit_test::basic_cstring"* byval align 4 %agg.tmp188, i32 512, %"class.boost::unit_test::basic_cstring"* byval align 4 %agg.tmp190)
          to label %invoke.cont192 unwind label %lpad86

invoke.cont192:                                   ; preds = %invoke.cont191
  %call196 = invoke %"class.boost::unit_test::lazy_ostream"* @_ZN5boost9unit_test12lazy_ostream8instanceEv()
          to label %invoke.cont195 unwind label %lpad86

invoke.cont195:                                   ; preds = %invoke.cont192
  invoke void @_ZN5boost9unit_testlsIA1_cEENS0_17lazy_ostream_implIRKT_EERKNS0_12lazy_ostreamES6_(%"class.boost::unit_test::lazy_ostream_impl"* sret %ref.tmp194, %"class.boost::unit_test::lazy_ostream"* %call196, [1 x i8]* @.str3)
          to label %invoke.cont197 unwind label %lpad86

invoke.cont197:                                   ; preds = %invoke.cont195
  %49 = bitcast %"class.boost::unit_test::lazy_ostream_impl"* %ref.tmp194 to %"class.boost::unit_test::lazy_ostream"*
  invoke void @_ZN5boost9unit_test13basic_cstringIKcEC1EPS2_j(%"class.boost::unit_test::basic_cstring"* %agg.tmp198, i8* getelementptr inbounds ([24 x i8]* @.str, i32 0, i32 0), i32 23)
          to label %invoke.cont200 unwind label %lpad199

invoke.cont200:                                   ; preds = %invoke.cont197
  %call202 = invoke i32 @_ZStorSt13_Ios_FmtflagsS_(i32 8192, i32 8)
          to label %invoke.cont201 unwind label %lpad199

invoke.cont201:                                   ; preds = %invoke.cont200
  %call204 = invoke i32 @_ZStorSt13_Ios_FmtflagsS_(i32 %call202, i32 4096)
          to label %invoke.cont203 unwind label %lpad199

invoke.cont203:                                   ; preds = %invoke.cont201
  store i32 %call204, i32* %ref.tmp205, align 4
  %50 = bitcast %"class.std::basic_stringstream"* %ss to i8**
  %vtable206 = load i8** %50
  %vbase.offset.ptr207 = getelementptr i8* %vtable206, i64 -12
  %51 = bitcast i8* %vbase.offset.ptr207 to i32*
  %vbase.offset208 = load i32* %51
  %52 = bitcast %"class.std::basic_stringstream"* %ss to i8*
  %add.ptr209 = getelementptr inbounds i8* %52, i32 %vbase.offset208
  %53 = bitcast i8* %add.ptr209 to %"class.std::ios_base"*
  %call211 = invoke i32 @_ZNKSt8ios_base5flagsEv(%"class.std::ios_base"* %53)
          to label %invoke.cont210 unwind label %lpad199

invoke.cont210:                                   ; preds = %invoke.cont203
  store i32 %call211, i32* %ref.tmp212, align 4
  %call214 = invoke zeroext i1 @_ZN5boost10test_tools9tt_detail10check_frwdINS1_15equal_impl_frwdESt13_Ios_FmtflagsS4_EEbT_RKNS_9unit_test12lazy_ostreamENS6_13basic_cstringIKcEEjNS1_10tool_levelENS1_10check_typeERKT0_PSB_RKT1_SI_(%"class.boost::unit_test::lazy_ostream"* %49, %"class.boost::unit_test::basic_cstring"* byval align 4 %agg.tmp198, i32 512, i32 1, i32 2, i32* %ref.tmp205, i8* getelementptr inbounds ([55 x i8]* @.str60, i32 0, i32 0), i32* %ref.tmp212, i8* getelementptr inbounds ([11 x i8]* @.str5, i32 0, i32 0))
          to label %invoke.cont213 unwind label %lpad199

invoke.cont213:                                   ; preds = %invoke.cont210
  invoke void @_ZN5boost9unit_test17lazy_ostream_implIRA1_KcED1Ev(%"class.boost::unit_test::lazy_ostream_impl"* %ref.tmp194)
          to label %invoke.cont215 unwind label %lpad86

invoke.cont215:                                   ; preds = %invoke.cont213
  br label %do.cond217

do.cond217:                                       ; preds = %invoke.cont215
  %54 = load i8* @_ZN5boost10test_tools12_GLOBAL__N_110dummy_condE, align 1
  %tobool218 = trunc i8 %54 to i1
  br i1 %tobool218, label %do.body187, label %do.end219

do.end219:                                        ; preds = %do.cond217
  br label %do.body220

do.body220:                                       ; preds = %do.cond246, %do.end219
  %55 = load %"class.boost::unit_test::unit_test_log_t"** @_ZN5boost9unit_test12_GLOBAL__N_113unit_test_logE, align 4
  invoke void @_ZN5boost9unit_test13basic_cstringIKcEC1EPS2_j(%"class.boost::unit_test::basic_cstring"* %agg.tmp221, i8* getelementptr inbounds ([24 x i8]* @.str, i32 0, i32 0), i32 23)
          to label %invoke.cont222 unwind label %lpad86

invoke.cont222:                                   ; preds = %do.body220
  invoke void @_ZN5boost9unit_test13basic_cstringIKcEC1Ev(%"class.boost::unit_test::basic_cstring"* %agg.tmp223)
          to label %invoke.cont224 unwind label %lpad86

invoke.cont224:                                   ; preds = %invoke.cont222
  invoke void @_ZN5boost9unit_test15unit_test_log_t14set_checkpointENS0_13basic_cstringIKcEEjS4_(%"class.boost::unit_test::unit_test_log_t"* %55, %"class.boost::unit_test::basic_cstring"* byval align 4 %agg.tmp221, i32 513, %"class.boost::unit_test::basic_cstring"* byval align 4 %agg.tmp223)
          to label %invoke.cont225 unwind label %lpad86

invoke.cont225:                                   ; preds = %invoke.cont224
  %call229 = invoke %"class.boost::unit_test::lazy_ostream"* @_ZN5boost9unit_test12lazy_ostream8instanceEv()
          to label %invoke.cont228 unwind label %lpad86

invoke.cont228:                                   ; preds = %invoke.cont225
  invoke void @_ZN5boost9unit_testlsIA1_cEENS0_17lazy_ostream_implIRKT_EERKNS0_12lazy_ostreamES6_(%"class.boost::unit_test::lazy_ostream_impl"* sret %ref.tmp227, %"class.boost::unit_test::lazy_ostream"* %call229, [1 x i8]* @.str3)
          to label %invoke.cont230 unwind label %lpad86

invoke.cont230:                                   ; preds = %invoke.cont228
  %56 = bitcast %"class.boost::unit_test::lazy_ostream_impl"* %ref.tmp227 to %"class.boost::unit_test::lazy_ostream"*
  invoke void @_ZN5boost9unit_test13basic_cstringIKcEC1EPS2_j(%"class.boost::unit_test::basic_cstring"* %agg.tmp231, i8* getelementptr inbounds ([24 x i8]* @.str, i32 0, i32 0), i32 23)
          to label %invoke.cont233 unwind label %lpad232

invoke.cont233:                                   ; preds = %invoke.cont230
  store i32 5, i32* %ref.tmp234, align 4
  %57 = bitcast %"class.std::basic_stringstream"* %ss to i8**
  %vtable235 = load i8** %57
  %vbase.offset.ptr236 = getelementptr i8* %vtable235, i64 -12
  %58 = bitcast i8* %vbase.offset.ptr236 to i32*
  %vbase.offset237 = load i32* %58
  %59 = bitcast %"class.std::basic_stringstream"* %ss to i8*
  %add.ptr238 = getelementptr inbounds i8* %59, i32 %vbase.offset237
  %60 = bitcast i8* %add.ptr238 to %"class.std::ios_base"*
  %call240 = invoke i32 @_ZNKSt8ios_base9precisionEv(%"class.std::ios_base"* %60)
          to label %invoke.cont239 unwind label %lpad232

invoke.cont239:                                   ; preds = %invoke.cont233
  store i32 %call240, i32* %ref.tmp241, align 4
  %call243 = invoke zeroext i1 @_ZN5boost10test_tools9tt_detail10check_frwdINS1_15equal_impl_frwdEiiEEbT_RKNS_9unit_test12lazy_ostreamENS5_13basic_cstringIKcEEjNS1_10tool_levelENS1_10check_typeERKT0_PSA_RKT1_SH_(%"class.boost::unit_test::lazy_ostream"* %56, %"class.boost::unit_test::basic_cstring"* byval align 4 %agg.tmp231, i32 513, i32 1, i32 2, i32* %ref.tmp234, i8* getelementptr inbounds ([2 x i8]* @.str61, i32 0, i32 0), i32* %ref.tmp241, i8* getelementptr inbounds ([15 x i8]* @.str10, i32 0, i32 0))
          to label %invoke.cont242 unwind label %lpad232

invoke.cont242:                                   ; preds = %invoke.cont239
  invoke void @_ZN5boost9unit_test17lazy_ostream_implIRA1_KcED1Ev(%"class.boost::unit_test::lazy_ostream_impl"* %ref.tmp227)
          to label %invoke.cont244 unwind label %lpad86

invoke.cont244:                                   ; preds = %invoke.cont242
  br label %do.cond246

do.cond246:                                       ; preds = %invoke.cont244
  %61 = load i8* @_ZN5boost10test_tools12_GLOBAL__N_110dummy_condE, align 1
  %tobool247 = trunc i8 %61 to i1
  br i1 %tobool247, label %do.body220, label %do.end248

do.end248:                                        ; preds = %do.cond246
  br label %do.body249

do.body249:                                       ; preds = %do.cond275, %do.end248
  %62 = load %"class.boost::unit_test::unit_test_log_t"** @_ZN5boost9unit_test12_GLOBAL__N_113unit_test_logE, align 4
  invoke void @_ZN5boost9unit_test13basic_cstringIKcEC1EPS2_j(%"class.boost::unit_test::basic_cstring"* %agg.tmp250, i8* getelementptr inbounds ([24 x i8]* @.str, i32 0, i32 0), i32 23)
          to label %invoke.cont251 unwind label %lpad86

invoke.cont251:                                   ; preds = %do.body249
  invoke void @_ZN5boost9unit_test13basic_cstringIKcEC1Ev(%"class.boost::unit_test::basic_cstring"* %agg.tmp252)
          to label %invoke.cont253 unwind label %lpad86

invoke.cont253:                                   ; preds = %invoke.cont251
  invoke void @_ZN5boost9unit_test15unit_test_log_t14set_checkpointENS0_13basic_cstringIKcEEjS4_(%"class.boost::unit_test::unit_test_log_t"* %62, %"class.boost::unit_test::basic_cstring"* byval align 4 %agg.tmp250, i32 514, %"class.boost::unit_test::basic_cstring"* byval align 4 %agg.tmp252)
          to label %invoke.cont254 unwind label %lpad86

invoke.cont254:                                   ; preds = %invoke.cont253
  %call258 = invoke %"class.boost::unit_test::lazy_ostream"* @_ZN5boost9unit_test12lazy_ostream8instanceEv()
          to label %invoke.cont257 unwind label %lpad86

invoke.cont257:                                   ; preds = %invoke.cont254
  invoke void @_ZN5boost9unit_testlsIA1_cEENS0_17lazy_ostream_implIRKT_EERKNS0_12lazy_ostreamES6_(%"class.boost::unit_test::lazy_ostream_impl"* sret %ref.tmp256, %"class.boost::unit_test::lazy_ostream"* %call258, [1 x i8]* @.str3)
          to label %invoke.cont259 unwind label %lpad86

invoke.cont259:                                   ; preds = %invoke.cont257
  %63 = bitcast %"class.boost::unit_test::lazy_ostream_impl"* %ref.tmp256 to %"class.boost::unit_test::lazy_ostream"*
  invoke void @_ZN5boost9unit_test13basic_cstringIKcEC1EPS2_j(%"class.boost::unit_test::basic_cstring"* %agg.tmp260, i8* getelementptr inbounds ([24 x i8]* @.str, i32 0, i32 0), i32 23)
          to label %invoke.cont262 unwind label %lpad261

invoke.cont262:                                   ; preds = %invoke.cont259
  store i32 7, i32* %ref.tmp263, align 4
  %64 = bitcast %"class.std::basic_stringstream"* %ss to i8**
  %vtable264 = load i8** %64
  %vbase.offset.ptr265 = getelementptr i8* %vtable264, i64 -12
  %65 = bitcast i8* %vbase.offset.ptr265 to i32*
  %vbase.offset266 = load i32* %65
  %66 = bitcast %"class.std::basic_stringstream"* %ss to i8*
  %add.ptr267 = getelementptr inbounds i8* %66, i32 %vbase.offset266
  %67 = bitcast i8* %add.ptr267 to %"class.std::ios_base"*
  %call269 = invoke i32 @_ZNKSt8ios_base5widthEv(%"class.std::ios_base"* %67)
          to label %invoke.cont268 unwind label %lpad261

invoke.cont268:                                   ; preds = %invoke.cont262
  store i32 %call269, i32* %ref.tmp270, align 4
  %call272 = invoke zeroext i1 @_ZN5boost10test_tools9tt_detail10check_frwdINS1_15equal_impl_frwdEiiEEbT_RKNS_9unit_test12lazy_ostreamENS5_13basic_cstringIKcEEjNS1_10tool_levelENS1_10check_typeERKT0_PSA_RKT1_SH_(%"class.boost::unit_test::lazy_ostream"* %63, %"class.boost::unit_test::basic_cstring"* byval align 4 %agg.tmp260, i32 514, i32 1, i32 2, i32* %ref.tmp263, i8* getelementptr inbounds ([2 x i8]* @.str62, i32 0, i32 0), i32* %ref.tmp270, i8* getelementptr inbounds ([11 x i8]* @.str15, i32 0, i32 0))
          to label %invoke.cont271 unwind label %lpad261

invoke.cont271:                                   ; preds = %invoke.cont268
  invoke void @_ZN5boost9unit_test17lazy_ostream_implIRA1_KcED1Ev(%"class.boost::unit_test::lazy_ostream_impl"* %ref.tmp256)
          to label %invoke.cont273 unwind label %lpad86

invoke.cont273:                                   ; preds = %invoke.cont271
  br label %do.cond275

do.cond275:                                       ; preds = %invoke.cont273
  %68 = load i8* @_ZN5boost10test_tools12_GLOBAL__N_110dummy_condE, align 1
  %tobool276 = trunc i8 %68 to i1
  br i1 %tobool276, label %do.body249, label %do.end277

do.end277:                                        ; preds = %do.cond275
  invoke void @_ZN5boost2io18ios_base_all_saverD1Ev(%"class.boost::io::ios_base_all_saver"* %ibas)
          to label %invoke.cont278 unwind label %lpad

invoke.cont278:                                   ; preds = %do.end277
  br label %do.body280

do.body280:                                       ; preds = %do.cond309, %invoke.cont278
  %69 = load %"class.boost::unit_test::unit_test_log_t"** @_ZN5boost9unit_test12_GLOBAL__N_113unit_test_logE, align 4
  invoke void @_ZN5boost9unit_test13basic_cstringIKcEC1EPS2_j(%"class.boost::unit_test::basic_cstring"* %agg.tmp281, i8* getelementptr inbounds ([24 x i8]* @.str, i32 0, i32 0), i32 23)
          to label %invoke.cont282 unwind label %lpad

invoke.cont282:                                   ; preds = %do.body280
  invoke void @_ZN5boost9unit_test13basic_cstringIKcEC1Ev(%"class.boost::unit_test::basic_cstring"* %agg.tmp283)
          to label %invoke.cont284 unwind label %lpad

invoke.cont284:                                   ; preds = %invoke.cont282
  invoke void @_ZN5boost9unit_test15unit_test_log_t14set_checkpointENS0_13basic_cstringIKcEEjS4_(%"class.boost::unit_test::unit_test_log_t"* %69, %"class.boost::unit_test::basic_cstring"* byval align 4 %agg.tmp281, i32 517, %"class.boost::unit_test::basic_cstring"* byval align 4 %agg.tmp283)
          to label %invoke.cont285 unwind label %lpad

invoke.cont285:                                   ; preds = %invoke.cont284
  %call289 = invoke %"class.boost::unit_test::lazy_ostream"* @_ZN5boost9unit_test12lazy_ostream8instanceEv()
          to label %invoke.cont288 unwind label %lpad

invoke.cont288:                                   ; preds = %invoke.cont285
  invoke void @_ZN5boost9unit_testlsIA1_cEENS0_17lazy_ostream_implIRKT_EERKNS0_12lazy_ostreamES6_(%"class.boost::unit_test::lazy_ostream_impl"* sret %ref.tmp287, %"class.boost::unit_test::lazy_ostream"* %call289, [1 x i8]* @.str3)
          to label %invoke.cont290 unwind label %lpad

invoke.cont290:                                   ; preds = %invoke.cont288
  %70 = bitcast %"class.boost::unit_test::lazy_ostream_impl"* %ref.tmp287 to %"class.boost::unit_test::lazy_ostream"*
  invoke void @_ZN5boost9unit_test13basic_cstringIKcEC1EPS2_j(%"class.boost::unit_test::basic_cstring"* %agg.tmp291, i8* getelementptr inbounds ([24 x i8]* @.str, i32 0, i32 0), i32 23)
          to label %invoke.cont293 unwind label %lpad292

invoke.cont293:                                   ; preds = %invoke.cont290
  %call295 = invoke i32 @_ZStorSt13_Ios_FmtflagsS_(i32 4096, i32 2)
          to label %invoke.cont294 unwind label %lpad292

invoke.cont294:                                   ; preds = %invoke.cont293
  store i32 %call295, i32* %ref.tmp296, align 4
  %71 = bitcast %"class.std::basic_stringstream"* %ss to i8**
  %vtable297 = load i8** %71
  %vbase.offset.ptr298 = getelementptr i8* %vtable297, i64 -12
  %72 = bitcast i8* %vbase.offset.ptr298 to i32*
  %vbase.offset299 = load i32* %72
  %73 = bitcast %"class.std::basic_stringstream"* %ss to i8*
  %add.ptr300 = getelementptr inbounds i8* %73, i32 %vbase.offset299
  %74 = bitcast i8* %add.ptr300 to %"class.std::ios_base"*
  %call302 = invoke i32 @_ZNKSt8ios_base5flagsEv(%"class.std::ios_base"* %74)
          to label %invoke.cont301 unwind label %lpad292

invoke.cont301:                                   ; preds = %invoke.cont294
  store i32 %call302, i32* %ref.tmp303, align 4
  %call305 = invoke zeroext i1 @_ZN5boost10test_tools9tt_detail10check_frwdINS1_15equal_impl_frwdESt13_Ios_FmtflagsS4_EEbT_RKNS_9unit_test12lazy_ostreamENS6_13basic_cstringIKcEEjNS1_10tool_levelENS1_10check_typeERKT0_PSB_RKT1_SI_(%"class.boost::unit_test::lazy_ostream"* %70, %"class.boost::unit_test::basic_cstring"* byval align 4 %agg.tmp291, i32 517, i32 1, i32 2, i32* %ref.tmp296, i8* getelementptr inbounds ([35 x i8]* @.str4, i32 0, i32 0), i32* %ref.tmp303, i8* getelementptr inbounds ([11 x i8]* @.str5, i32 0, i32 0))
          to label %invoke.cont304 unwind label %lpad292

invoke.cont304:                                   ; preds = %invoke.cont301
  invoke void @_ZN5boost9unit_test17lazy_ostream_implIRA1_KcED1Ev(%"class.boost::unit_test::lazy_ostream_impl"* %ref.tmp287)
          to label %invoke.cont306 unwind label %lpad

invoke.cont306:                                   ; preds = %invoke.cont304
  br label %do.cond309

do.cond309:                                       ; preds = %invoke.cont306
  %75 = load i8* @_ZN5boost10test_tools12_GLOBAL__N_110dummy_condE, align 1
  %tobool310 = trunc i8 %75 to i1
  br i1 %tobool310, label %do.body280, label %do.end311

do.end311:                                        ; preds = %do.cond309
  br label %do.body312

do.body312:                                       ; preds = %do.cond339, %do.end311
  %76 = load %"class.boost::unit_test::unit_test_log_t"** @_ZN5boost9unit_test12_GLOBAL__N_113unit_test_logE, align 4
  invoke void @_ZN5boost9unit_test13basic_cstringIKcEC1EPS2_j(%"class.boost::unit_test::basic_cstring"* %agg.tmp313, i8* getelementptr inbounds ([24 x i8]* @.str, i32 0, i32 0), i32 23)
          to label %invoke.cont314 unwind label %lpad

invoke.cont314:                                   ; preds = %do.body312
  invoke void @_ZN5boost9unit_test13basic_cstringIKcEC1Ev(%"class.boost::unit_test::basic_cstring"* %agg.tmp315)
          to label %invoke.cont316 unwind label %lpad

invoke.cont316:                                   ; preds = %invoke.cont314
  invoke void @_ZN5boost9unit_test15unit_test_log_t14set_checkpointENS0_13basic_cstringIKcEEjS4_(%"class.boost::unit_test::unit_test_log_t"* %76, %"class.boost::unit_test::basic_cstring"* byval align 4 %agg.tmp313, i32 518, %"class.boost::unit_test::basic_cstring"* byval align 4 %agg.tmp315)
          to label %invoke.cont317 unwind label %lpad

invoke.cont317:                                   ; preds = %invoke.cont316
  %call321 = invoke %"class.boost::unit_test::lazy_ostream"* @_ZN5boost9unit_test12lazy_ostream8instanceEv()
          to label %invoke.cont320 unwind label %lpad

invoke.cont320:                                   ; preds = %invoke.cont317
  invoke void @_ZN5boost9unit_testlsIA1_cEENS0_17lazy_ostream_implIRKT_EERKNS0_12lazy_ostreamES6_(%"class.boost::unit_test::lazy_ostream_impl"* sret %ref.tmp319, %"class.boost::unit_test::lazy_ostream"* %call321, [1 x i8]* @.str3)
          to label %invoke.cont322 unwind label %lpad

invoke.cont322:                                   ; preds = %invoke.cont320
  %77 = bitcast %"class.boost::unit_test::lazy_ostream_impl"* %ref.tmp319 to %"class.boost::unit_test::lazy_ostream"*
  invoke void @_ZN5boost9unit_test13basic_cstringIKcEC1EPS2_j(%"class.boost::unit_test::basic_cstring"* %agg.tmp323, i8* getelementptr inbounds ([24 x i8]* @.str, i32 0, i32 0), i32 23)
          to label %invoke.cont325 unwind label %lpad324

invoke.cont325:                                   ; preds = %invoke.cont322
  store i32 6, i32* %ref.tmp326, align 4
  %78 = bitcast %"class.std::basic_stringstream"* %ss to i8**
  %vtable327 = load i8** %78
  %vbase.offset.ptr328 = getelementptr i8* %vtable327, i64 -12
  %79 = bitcast i8* %vbase.offset.ptr328 to i32*
  %vbase.offset329 = load i32* %79
  %80 = bitcast %"class.std::basic_stringstream"* %ss to i8*
  %add.ptr330 = getelementptr inbounds i8* %80, i32 %vbase.offset329
  %81 = bitcast i8* %add.ptr330 to %"class.std::ios_base"*
  %call332 = invoke i32 @_ZNKSt8ios_base9precisionEv(%"class.std::ios_base"* %81)
          to label %invoke.cont331 unwind label %lpad324

invoke.cont331:                                   ; preds = %invoke.cont325
  store i32 %call332, i32* %ref.tmp333, align 4
  %call335 = invoke zeroext i1 @_ZN5boost10test_tools9tt_detail10check_frwdINS1_15equal_impl_frwdEiiEEbT_RKNS_9unit_test12lazy_ostreamENS5_13basic_cstringIKcEEjNS1_10tool_levelENS1_10check_typeERKT0_PSA_RKT1_SH_(%"class.boost::unit_test::lazy_ostream"* %77, %"class.boost::unit_test::basic_cstring"* byval align 4 %agg.tmp323, i32 518, i32 1, i32 2, i32* %ref.tmp326, i8* getelementptr inbounds ([2 x i8]* @.str9, i32 0, i32 0), i32* %ref.tmp333, i8* getelementptr inbounds ([15 x i8]* @.str10, i32 0, i32 0))
          to label %invoke.cont334 unwind label %lpad324

invoke.cont334:                                   ; preds = %invoke.cont331
  invoke void @_ZN5boost9unit_test17lazy_ostream_implIRA1_KcED1Ev(%"class.boost::unit_test::lazy_ostream_impl"* %ref.tmp319)
          to label %invoke.cont336 unwind label %lpad

invoke.cont336:                                   ; preds = %invoke.cont334
  br label %do.cond339

do.cond339:                                       ; preds = %invoke.cont336
  %82 = load i8* @_ZN5boost10test_tools12_GLOBAL__N_110dummy_condE, align 1
  %tobool340 = trunc i8 %82 to i1
  br i1 %tobool340, label %do.body312, label %do.end341

do.end341:                                        ; preds = %do.cond339
  br label %do.body342

do.body342:                                       ; preds = %do.cond369, %do.end341
  %83 = load %"class.boost::unit_test::unit_test_log_t"** @_ZN5boost9unit_test12_GLOBAL__N_113unit_test_logE, align 4
  invoke void @_ZN5boost9unit_test13basic_cstringIKcEC1EPS2_j(%"class.boost::unit_test::basic_cstring"* %agg.tmp343, i8* getelementptr inbounds ([24 x i8]* @.str, i32 0, i32 0), i32 23)
          to label %invoke.cont344 unwind label %lpad

invoke.cont344:                                   ; preds = %do.body342
  invoke void @_ZN5boost9unit_test13basic_cstringIKcEC1Ev(%"class.boost::unit_test::basic_cstring"* %agg.tmp345)
          to label %invoke.cont346 unwind label %lpad

invoke.cont346:                                   ; preds = %invoke.cont344
  invoke void @_ZN5boost9unit_test15unit_test_log_t14set_checkpointENS0_13basic_cstringIKcEEjS4_(%"class.boost::unit_test::unit_test_log_t"* %83, %"class.boost::unit_test::basic_cstring"* byval align 4 %agg.tmp343, i32 519, %"class.boost::unit_test::basic_cstring"* byval align 4 %agg.tmp345)
          to label %invoke.cont347 unwind label %lpad

invoke.cont347:                                   ; preds = %invoke.cont346
  %call351 = invoke %"class.boost::unit_test::lazy_ostream"* @_ZN5boost9unit_test12lazy_ostream8instanceEv()
          to label %invoke.cont350 unwind label %lpad

invoke.cont350:                                   ; preds = %invoke.cont347
  invoke void @_ZN5boost9unit_testlsIA1_cEENS0_17lazy_ostream_implIRKT_EERKNS0_12lazy_ostreamES6_(%"class.boost::unit_test::lazy_ostream_impl"* sret %ref.tmp349, %"class.boost::unit_test::lazy_ostream"* %call351, [1 x i8]* @.str3)
          to label %invoke.cont352 unwind label %lpad

invoke.cont352:                                   ; preds = %invoke.cont350
  %84 = bitcast %"class.boost::unit_test::lazy_ostream_impl"* %ref.tmp349 to %"class.boost::unit_test::lazy_ostream"*
  invoke void @_ZN5boost9unit_test13basic_cstringIKcEC1EPS2_j(%"class.boost::unit_test::basic_cstring"* %agg.tmp353, i8* getelementptr inbounds ([24 x i8]* @.str, i32 0, i32 0), i32 23)
          to label %invoke.cont355 unwind label %lpad354

invoke.cont355:                                   ; preds = %invoke.cont352
  store i32 0, i32* %ref.tmp356, align 4
  %85 = bitcast %"class.std::basic_stringstream"* %ss to i8**
  %vtable357 = load i8** %85
  %vbase.offset.ptr358 = getelementptr i8* %vtable357, i64 -12
  %86 = bitcast i8* %vbase.offset.ptr358 to i32*
  %vbase.offset359 = load i32* %86
  %87 = bitcast %"class.std::basic_stringstream"* %ss to i8*
  %add.ptr360 = getelementptr inbounds i8* %87, i32 %vbase.offset359
  %88 = bitcast i8* %add.ptr360 to %"class.std::ios_base"*
  %call362 = invoke i32 @_ZNKSt8ios_base5widthEv(%"class.std::ios_base"* %88)
          to label %invoke.cont361 unwind label %lpad354

invoke.cont361:                                   ; preds = %invoke.cont355
  store i32 %call362, i32* %ref.tmp363, align 4
  %call365 = invoke zeroext i1 @_ZN5boost10test_tools9tt_detail10check_frwdINS1_15equal_impl_frwdEiiEEbT_RKNS_9unit_test12lazy_ostreamENS5_13basic_cstringIKcEEjNS1_10tool_levelENS1_10check_typeERKT0_PSA_RKT1_SH_(%"class.boost::unit_test::lazy_ostream"* %84, %"class.boost::unit_test::basic_cstring"* byval align 4 %agg.tmp353, i32 519, i32 1, i32 2, i32* %ref.tmp356, i8* getelementptr inbounds ([2 x i8]* @.str14, i32 0, i32 0), i32* %ref.tmp363, i8* getelementptr inbounds ([11 x i8]* @.str15, i32 0, i32 0))
          to label %invoke.cont364 unwind label %lpad354

invoke.cont364:                                   ; preds = %invoke.cont361
  invoke void @_ZN5boost9unit_test17lazy_ostream_implIRA1_KcED1Ev(%"class.boost::unit_test::lazy_ostream_impl"* %ref.tmp349)
          to label %invoke.cont366 unwind label %lpad

invoke.cont366:                                   ; preds = %invoke.cont364
  br label %do.cond369

do.cond369:                                       ; preds = %invoke.cont366
  %89 = load i8* @_ZN5boost10test_tools12_GLOBAL__N_110dummy_condE, align 1
  %tobool370 = trunc i8 %89 to i1
  br i1 %tobool370, label %do.body342, label %do.end371

do.end371:                                        ; preds = %do.cond369
  call void @_ZNSt18basic_stringstreamIcSt11char_traitsIcESaIcEED1Ev(%"class.std::basic_stringstream"* %ss)
  ret void

lpad:                                             ; preds = %invoke.cont364, %invoke.cont350, %invoke.cont347, %invoke.cont346, %invoke.cont344, %do.body342, %invoke.cont334, %invoke.cont320, %invoke.cont317, %invoke.cont316, %invoke.cont314, %do.body312, %invoke.cont304, %invoke.cont288, %invoke.cont285, %invoke.cont284, %invoke.cont282, %do.body280, %do.end277, %do.end78, %invoke.cont72, %invoke.cont58, %invoke.cont55, %invoke.cont54, %invoke.cont52, %do.body50, %invoke.cont43, %invoke.cont29, %invoke.cont26, %invoke.cont25, %invoke.cont23, %do.body21, %invoke.cont17, %invoke.cont5, %invoke.cont3, %invoke.cont2, %invoke.cont, %do.body
  %90 = landingpad { i8*, i32 } personality i8* bitcast (i32 (...)* @__gxx_personality_v0 to i8*)
          cleanup
  %91 = extractvalue { i8*, i32 } %90, 0
  store i8* %91, i8** %exn.slot
  %92 = extractvalue { i8*, i32 } %90, 1
  store i32 %92, i32* %ehselector.slot
  br label %ehcleanup372

lpad9:                                            ; preds = %invoke.cont14, %invoke.cont11, %invoke.cont10, %invoke.cont7
  %93 = landingpad { i8*, i32 } personality i8* bitcast (i32 (...)* @__gxx_personality_v0 to i8*)
          cleanup
  %94 = extractvalue { i8*, i32 } %93, 0
  store i8* %94, i8** %exn.slot
  %95 = extractvalue { i8*, i32 } %93, 1
  store i32 %95, i32* %ehselector.slot
  invoke void @_ZN5boost9unit_test17lazy_ostream_implIRA1_KcED1Ev(%"class.boost::unit_test::lazy_ostream_impl"* %ref.tmp)
          to label %invoke.cont20 unwind label %terminate.lpad

invoke.cont20:                                    ; preds = %lpad9
  br label %ehcleanup372

lpad33:                                           ; preds = %invoke.cont40, %invoke.cont34, %invoke.cont31
  %96 = landingpad { i8*, i32 } personality i8* bitcast (i32 (...)* @__gxx_personality_v0 to i8*)
          cleanup
  %97 = extractvalue { i8*, i32 } %96, 0
  store i8* %97, i8** %exn.slot
  %98 = extractvalue { i8*, i32 } %96, 1
  store i32 %98, i32* %ehselector.slot
  invoke void @_ZN5boost9unit_test17lazy_ostream_implIRA1_KcED1Ev(%"class.boost::unit_test::lazy_ostream_impl"* %ref.tmp28)
          to label %invoke.cont46 unwind label %terminate.lpad

invoke.cont46:                                    ; preds = %lpad33
  br label %ehcleanup372

lpad62:                                           ; preds = %invoke.cont69, %invoke.cont63, %invoke.cont60
  %99 = landingpad { i8*, i32 } personality i8* bitcast (i32 (...)* @__gxx_personality_v0 to i8*)
          cleanup
  %100 = extractvalue { i8*, i32 } %99, 0
  store i8* %100, i8** %exn.slot
  %101 = extractvalue { i8*, i32 } %99, 1
  store i32 %101, i32* %ehselector.slot
  invoke void @_ZN5boost9unit_test17lazy_ostream_implIRA1_KcED1Ev(%"class.boost::unit_test::lazy_ostream_impl"* %ref.tmp57)
          to label %invoke.cont75 unwind label %terminate.lpad

invoke.cont75:                                    ; preds = %lpad62
  br label %ehcleanup372

lpad86:                                           ; preds = %invoke.cont271, %invoke.cont257, %invoke.cont254, %invoke.cont253, %invoke.cont251, %do.body249, %invoke.cont242, %invoke.cont228, %invoke.cont225, %invoke.cont224, %invoke.cont222, %do.body220, %invoke.cont213, %invoke.cont195, %invoke.cont192, %invoke.cont191, %invoke.cont189, %do.body187, %invoke.cont184, %invoke.cont181, %invoke.cont180, %invoke.cont177, %invoke.cont175, %do.end173, %invoke.cont167, %invoke.cont153, %invoke.cont150, %invoke.cont149, %invoke.cont147, %do.body145, %invoke.cont138, %invoke.cont124, %invoke.cont121, %invoke.cont120, %invoke.cont118, %do.body116, %invoke.cont109, %invoke.cont93, %invoke.cont90, %invoke.cont89, %invoke.cont87, %do.body84
  %102 = landingpad { i8*, i32 } personality i8* bitcast (i32 (...)* @__gxx_personality_v0 to i8*)
          cleanup
  %103 = extractvalue { i8*, i32 } %102, 0
  store i8* %103, i8** %exn.slot
  %104 = extractvalue { i8*, i32 } %102, 1
  store i32 %104, i32* %ehselector.slot
  br label %ehcleanup

lpad97:                                           ; preds = %invoke.cont106, %invoke.cont99, %invoke.cont98, %invoke.cont95
  %105 = landingpad { i8*, i32 } personality i8* bitcast (i32 (...)* @__gxx_personality_v0 to i8*)
          cleanup
  %106 = extractvalue { i8*, i32 } %105, 0
  store i8* %106, i8** %exn.slot
  %107 = extractvalue { i8*, i32 } %105, 1
  store i32 %107, i32* %ehselector.slot
  invoke void @_ZN5boost9unit_test17lazy_ostream_implIRA1_KcED1Ev(%"class.boost::unit_test::lazy_ostream_impl"* %ref.tmp92)
          to label %invoke.cont112 unwind label %terminate.lpad

invoke.cont112:                                   ; preds = %lpad97
  br label %ehcleanup

lpad128:                                          ; preds = %invoke.cont135, %invoke.cont129, %invoke.cont126
  %108 = landingpad { i8*, i32 } personality i8* bitcast (i32 (...)* @__gxx_personality_v0 to i8*)
          cleanup
  %109 = extractvalue { i8*, i32 } %108, 0
  store i8* %109, i8** %exn.slot
  %110 = extractvalue { i8*, i32 } %108, 1
  store i32 %110, i32* %ehselector.slot
  invoke void @_ZN5boost9unit_test17lazy_ostream_implIRA1_KcED1Ev(%"class.boost::unit_test::lazy_ostream_impl"* %ref.tmp123)
          to label %invoke.cont141 unwind label %terminate.lpad

invoke.cont141:                                   ; preds = %lpad128
  br label %ehcleanup

lpad157:                                          ; preds = %invoke.cont164, %invoke.cont158, %invoke.cont155
  %111 = landingpad { i8*, i32 } personality i8* bitcast (i32 (...)* @__gxx_personality_v0 to i8*)
          cleanup
  %112 = extractvalue { i8*, i32 } %111, 0
  store i8* %112, i8** %exn.slot
  %113 = extractvalue { i8*, i32 } %111, 1
  store i32 %113, i32* %ehselector.slot
  invoke void @_ZN5boost9unit_test17lazy_ostream_implIRA1_KcED1Ev(%"class.boost::unit_test::lazy_ostream_impl"* %ref.tmp152)
          to label %invoke.cont170 unwind label %terminate.lpad

invoke.cont170:                                   ; preds = %lpad157
  br label %ehcleanup

lpad199:                                          ; preds = %invoke.cont210, %invoke.cont203, %invoke.cont201, %invoke.cont200, %invoke.cont197
  %114 = landingpad { i8*, i32 } personality i8* bitcast (i32 (...)* @__gxx_personality_v0 to i8*)
          cleanup
  %115 = extractvalue { i8*, i32 } %114, 0
  store i8* %115, i8** %exn.slot
  %116 = extractvalue { i8*, i32 } %114, 1
  store i32 %116, i32* %ehselector.slot
  invoke void @_ZN5boost9unit_test17lazy_ostream_implIRA1_KcED1Ev(%"class.boost::unit_test::lazy_ostream_impl"* %ref.tmp194)
          to label %invoke.cont216 unwind label %terminate.lpad

invoke.cont216:                                   ; preds = %lpad199
  br label %ehcleanup

lpad232:                                          ; preds = %invoke.cont239, %invoke.cont233, %invoke.cont230
  %117 = landingpad { i8*, i32 } personality i8* bitcast (i32 (...)* @__gxx_personality_v0 to i8*)
          cleanup
  %118 = extractvalue { i8*, i32 } %117, 0
  store i8* %118, i8** %exn.slot
  %119 = extractvalue { i8*, i32 } %117, 1
  store i32 %119, i32* %ehselector.slot
  invoke void @_ZN5boost9unit_test17lazy_ostream_implIRA1_KcED1Ev(%"class.boost::unit_test::lazy_ostream_impl"* %ref.tmp227)
          to label %invoke.cont245 unwind label %terminate.lpad

invoke.cont245:                                   ; preds = %lpad232
  br label %ehcleanup

lpad261:                                          ; preds = %invoke.cont268, %invoke.cont262, %invoke.cont259
  %120 = landingpad { i8*, i32 } personality i8* bitcast (i32 (...)* @__gxx_personality_v0 to i8*)
          cleanup
  %121 = extractvalue { i8*, i32 } %120, 0
  store i8* %121, i8** %exn.slot
  %122 = extractvalue { i8*, i32 } %120, 1
  store i32 %122, i32* %ehselector.slot
  invoke void @_ZN5boost9unit_test17lazy_ostream_implIRA1_KcED1Ev(%"class.boost::unit_test::lazy_ostream_impl"* %ref.tmp256)
          to label %invoke.cont274 unwind label %terminate.lpad

invoke.cont274:                                   ; preds = %lpad261
  br label %ehcleanup

ehcleanup:                                        ; preds = %invoke.cont274, %invoke.cont245, %invoke.cont216, %invoke.cont170, %invoke.cont141, %invoke.cont112, %lpad86
  invoke void @_ZN5boost2io18ios_base_all_saverD1Ev(%"class.boost::io::ios_base_all_saver"* %ibas)
          to label %invoke.cont279 unwind label %terminate.lpad

invoke.cont279:                                   ; preds = %ehcleanup
  br label %ehcleanup372

lpad292:                                          ; preds = %invoke.cont301, %invoke.cont294, %invoke.cont293, %invoke.cont290
  %123 = landingpad { i8*, i32 } personality i8* bitcast (i32 (...)* @__gxx_personality_v0 to i8*)
          cleanup
  %124 = extractvalue { i8*, i32 } %123, 0
  store i8* %124, i8** %exn.slot
  %125 = extractvalue { i8*, i32 } %123, 1
  store i32 %125, i32* %ehselector.slot
  invoke void @_ZN5boost9unit_test17lazy_ostream_implIRA1_KcED1Ev(%"class.boost::unit_test::lazy_ostream_impl"* %ref.tmp287)
          to label %invoke.cont308 unwind label %terminate.lpad

invoke.cont308:                                   ; preds = %lpad292
  br label %ehcleanup372

lpad324:                                          ; preds = %invoke.cont331, %invoke.cont325, %invoke.cont322
  %126 = landingpad { i8*, i32 } personality i8* bitcast (i32 (...)* @__gxx_personality_v0 to i8*)
          cleanup
  %127 = extractvalue { i8*, i32 } %126, 0
  store i8* %127, i8** %exn.slot
  %128 = extractvalue { i8*, i32 } %126, 1
  store i32 %128, i32* %ehselector.slot
  invoke void @_ZN5boost9unit_test17lazy_ostream_implIRA1_KcED1Ev(%"class.boost::unit_test::lazy_ostream_impl"* %ref.tmp319)
          to label %invoke.cont338 unwind label %terminate.lpad

invoke.cont338:                                   ; preds = %lpad324
  br label %ehcleanup372

lpad354:                                          ; preds = %invoke.cont361, %invoke.cont355, %invoke.cont352
  %129 = landingpad { i8*, i32 } personality i8* bitcast (i32 (...)* @__gxx_personality_v0 to i8*)
          cleanup
  %130 = extractvalue { i8*, i32 } %129, 0
  store i8* %130, i8** %exn.slot
  %131 = extractvalue { i8*, i32 } %129, 1
  store i32 %131, i32* %ehselector.slot
  invoke void @_ZN5boost9unit_test17lazy_ostream_implIRA1_KcED1Ev(%"class.boost::unit_test::lazy_ostream_impl"* %ref.tmp349)
          to label %invoke.cont368 unwind label %terminate.lpad

invoke.cont368:                                   ; preds = %lpad354
  br label %ehcleanup372

ehcleanup372:                                     ; preds = %invoke.cont368, %invoke.cont338, %invoke.cont308, %invoke.cont279, %invoke.cont75, %invoke.cont46, %invoke.cont20, %lpad
  invoke void @_ZNSt18basic_stringstreamIcSt11char_traitsIcESaIcEED1Ev(%"class.std::basic_stringstream"* %ss)
          to label %invoke.cont373 unwind label %terminate.lpad

invoke.cont373:                                   ; preds = %ehcleanup372
  br label %eh.resume

eh.resume:                                        ; preds = %invoke.cont373
  %exn = load i8** %exn.slot
  %sel = load i32* %ehselector.slot
  %lpad.val = insertvalue { i8*, i32 } undef, i8* %exn, 0
  %lpad.val374 = insertvalue { i8*, i32 } %lpad.val, i32 %sel, 1
  resume { i8*, i32 } %lpad.val374

terminate.lpad:                                   ; preds = %ehcleanup372, %lpad354, %lpad324, %lpad292, %ehcleanup, %lpad261, %lpad232, %lpad199, %lpad157, %lpad128, %lpad97, %lpad62, %lpad33, %lpad9
  %132 = landingpad { i8*, i32 } personality i8* bitcast (i32 (...)* @__gxx_personality_v0 to i8*)
          catch i8* null
  call void @_ZSt9terminatev() noreturn nounwind
  unreachable
}

define linkonce_odr void @_ZN5boost2io18ios_base_all_saverC1ERSt8ios_base(%"class.boost::io::ios_base_all_saver"* %this, %"class.std::ios_base"* %s) unnamed_addr align 2 {
entry:
  %this.addr = alloca %"class.boost::io::ios_base_all_saver"*, align 4
  %s.addr = alloca %"class.std::ios_base"*, align 4
  store %"class.boost::io::ios_base_all_saver"* %this, %"class.boost::io::ios_base_all_saver"** %this.addr, align 4
  store %"class.std::ios_base"* %s, %"class.std::ios_base"** %s.addr, align 4
  %this1 = load %"class.boost::io::ios_base_all_saver"** %this.addr
  %0 = load %"class.std::ios_base"** %s.addr
  call void @_ZN5boost2io18ios_base_all_saverC2ERSt8ios_base(%"class.boost::io::ios_base_all_saver"* %this1, %"class.std::ios_base"* %0)
  ret void
}

define linkonce_odr %"class.std::ios_base"* @_ZSt3hexRSt8ios_base(%"class.std::ios_base"* %__base) inlinehint {
entry:
  %__base.addr = alloca %"class.std::ios_base"*, align 4
  store %"class.std::ios_base"* %__base, %"class.std::ios_base"** %__base.addr, align 4
  %0 = load %"class.std::ios_base"** %__base.addr, align 4
  %call = call i32 @_ZNSt8ios_base4setfESt13_Ios_FmtflagsS0_(%"class.std::ios_base"* %0, i32 8, i32 74)
  %1 = load %"class.std::ios_base"** %__base.addr, align 4
  ret %"class.std::ios_base"* %1
}

define linkonce_odr %"class.std::ios_base"* @_ZSt7unitbufRSt8ios_base(%"class.std::ios_base"* %__base) inlinehint {
entry:
  %__base.addr = alloca %"class.std::ios_base"*, align 4
  store %"class.std::ios_base"* %__base, %"class.std::ios_base"** %__base.addr, align 4
  %0 = load %"class.std::ios_base"** %__base.addr, align 4
  %call = call i32 @_ZNSt8ios_base4setfESt13_Ios_Fmtflags(%"class.std::ios_base"* %0, i32 8192)
  %1 = load %"class.std::ios_base"** %__base.addr, align 4
  ret %"class.std::ios_base"* %1
}

define linkonce_odr void @_ZN5boost2io18ios_base_all_saverD1Ev(%"class.boost::io::ios_base_all_saver"* %this) unnamed_addr align 2 {
entry:
  %this.addr = alloca %"class.boost::io::ios_base_all_saver"*, align 4
  store %"class.boost::io::ios_base_all_saver"* %this, %"class.boost::io::ios_base_all_saver"** %this.addr, align 4
  %this1 = load %"class.boost::io::ios_base_all_saver"** %this.addr
  call void @_ZN5boost2io18ios_base_all_saverD2Ev(%"class.boost::io::ios_base_all_saver"* %this1)
  ret void
}

define void @_Z23ios_all_saver_unit_testv() {
entry:
  %sb = alloca %"class.std::basic_stringbuf", align 4
  %ss = alloca %"class.std::basic_iostream", align 4
  %exn.slot = alloca i8*
  %ehselector.slot = alloca i32
  %agg.tmp = alloca %"class.boost::unit_test::basic_cstring", align 4
  %agg.tmp3 = alloca %"class.boost::unit_test::basic_cstring", align 4
  %agg.tmp6 = alloca %"struct.boost::test_tools::tt_detail::equal_impl_frwd", align 1
  %ref.tmp = alloca %"class.boost::unit_test::lazy_ostream_impl", align 4
  %agg.tmp10 = alloca %"class.boost::unit_test::basic_cstring", align 4
  %ref.tmp15 = alloca i32, align 4
  %ref.tmp18 = alloca i32, align 4
  %agg.tmp24 = alloca %"class.boost::unit_test::basic_cstring", align 4
  %agg.tmp26 = alloca %"class.boost::unit_test::basic_cstring", align 4
  %agg.tmp29 = alloca %"struct.boost::test_tools::tt_detail::equal_impl_frwd", align 1
  %ref.tmp30 = alloca %"class.boost::unit_test::lazy_ostream_impl", align 4
  %agg.tmp34 = alloca %"class.boost::unit_test::basic_cstring", align 4
  %ref.tmp37 = alloca i32, align 4
  %ref.tmp44 = alloca i32, align 4
  %agg.tmp53 = alloca %"class.boost::unit_test::basic_cstring", align 4
  %agg.tmp55 = alloca %"class.boost::unit_test::basic_cstring", align 4
  %agg.tmp58 = alloca %"struct.boost::test_tools::tt_detail::equal_impl_frwd", align 1
  %ref.tmp59 = alloca %"class.boost::unit_test::lazy_ostream_impl", align 4
  %agg.tmp63 = alloca %"class.boost::unit_test::basic_cstring", align 4
  %ref.tmp66 = alloca i32, align 4
  %ref.tmp73 = alloca i32, align 4
  %agg.tmp82 = alloca %"class.boost::unit_test::basic_cstring", align 4
  %agg.tmp84 = alloca %"class.boost::unit_test::basic_cstring", align 4
  %agg.tmp87 = alloca %"struct.boost::test_tools::tt_detail::equal_impl_frwd", align 1
  %ref.tmp88 = alloca %"class.boost::unit_test::lazy_ostream_impl", align 4
  %agg.tmp92 = alloca %"class.boost::unit_test::basic_cstring", align 4
  %ref.tmp101 = alloca i32, align 4
  %agg.tmp110 = alloca %"class.boost::unit_test::basic_cstring", align 4
  %agg.tmp112 = alloca %"class.boost::unit_test::basic_cstring", align 4
  %ref.tmp115 = alloca %"class.boost::test_tools::predicate_result", align 4
  %ref.tmp123 = alloca %"class.boost::unit_test::lazy_ostream_impl.0", align 4
  %ref.tmp127 = alloca %"class.boost::unit_test::basic_cstring", align 4
  %agg.tmp130 = alloca %"class.boost::unit_test::basic_cstring", align 4
  %agg.tmp143 = alloca %"class.boost::unit_test::basic_cstring", align 4
  %agg.tmp145 = alloca %"class.boost::unit_test::basic_cstring", align 4
  %agg.tmp148 = alloca %"struct.boost::test_tools::tt_detail::equal_impl_frwd", align 1
  %ref.tmp149 = alloca %"class.boost::unit_test::lazy_ostream_impl", align 4
  %agg.tmp153 = alloca %"class.boost::unit_test::basic_cstring", align 4
  %ref.tmp162 = alloca i32, align 4
  %agg.tmp172 = alloca %"class.boost::unit_test::basic_cstring", align 4
  %agg.tmp174 = alloca %"class.boost::unit_test::basic_cstring", align 4
  %ref.tmp177 = alloca %"class.boost::test_tools::predicate_result", align 4
  %ref.tmp185 = alloca %"class.boost::unit_test::lazy_ostream_impl.0", align 4
  %ref.tmp189 = alloca %"class.boost::unit_test::basic_cstring", align 4
  %agg.tmp192 = alloca %"class.boost::unit_test::basic_cstring", align 4
  %agg.tmp207 = alloca %"class.boost::unit_test::basic_cstring", align 4
  %agg.tmp209 = alloca %"class.boost::unit_test::basic_cstring", align 4
  %ref.tmp212 = alloca %"class.boost::test_tools::predicate_result", align 4
  %ref.tmp221 = alloca %"class.boost::unit_test::lazy_ostream_impl.0", align 4
  %ref.tmp225 = alloca %"class.boost::unit_test::basic_cstring", align 4
  %agg.tmp228 = alloca %"class.boost::unit_test::basic_cstring", align 4
  %agg.tmp243 = alloca %"class.boost::unit_test::basic_cstring", align 4
  %agg.tmp245 = alloca %"class.boost::unit_test::basic_cstring", align 4
  %agg.tmp248 = alloca %"struct.boost::test_tools::tt_detail::equal_impl_frwd", align 1
  %ref.tmp249 = alloca %"class.boost::unit_test::lazy_ostream_impl", align 4
  %agg.tmp253 = alloca %"class.boost::unit_test::basic_cstring", align 4
  %ref.tmp256 = alloca i8, align 1
  %ref.tmp263 = alloca i8, align 1
  %agg.tmp273 = alloca %"class.boost::unit_test::basic_cstring", align 4
  %agg.tmp275 = alloca %"class.boost::unit_test::basic_cstring", align 4
  %ref.tmp278 = alloca %"class.boost::test_tools::predicate_result", align 4
  %temp.lvalue = alloca %"class.std::locale", align 4
  %ref.tmp279 = alloca %"class.std::locale", align 4
  %ref.tmp289 = alloca %"class.boost::unit_test::lazy_ostream_impl.0", align 4
  %ref.tmp293 = alloca %"class.boost::unit_test::basic_cstring", align 4
  %agg.tmp296 = alloca %"class.boost::unit_test::basic_cstring", align 4
  %ias = alloca %"class.boost::io::basic_ios_all_saver", align 4
  %agg.tmp318 = alloca %"class.boost::unit_test::basic_cstring", align 4
  %agg.tmp321 = alloca %"class.boost::unit_test::basic_cstring", align 4
  %agg.tmp324 = alloca %"struct.boost::test_tools::tt_detail::equal_impl_frwd", align 1
  %ref.tmp325 = alloca %"class.boost::unit_test::lazy_ostream_impl", align 4
  %agg.tmp329 = alloca %"class.boost::unit_test::basic_cstring", align 4
  %ref.tmp334 = alloca i32, align 4
  %ref.tmp341 = alloca i32, align 4
  %agg.tmp351 = alloca %"class.boost::unit_test::basic_cstring", align 4
  %agg.tmp353 = alloca %"class.boost::unit_test::basic_cstring", align 4
  %agg.tmp356 = alloca %"struct.boost::test_tools::tt_detail::equal_impl_frwd", align 1
  %ref.tmp357 = alloca %"class.boost::unit_test::lazy_ostream_impl", align 4
  %agg.tmp361 = alloca %"class.boost::unit_test::basic_cstring", align 4
  %ref.tmp364 = alloca i32, align 4
  %ref.tmp371 = alloca i32, align 4
  %agg.tmp381 = alloca %"class.boost::unit_test::basic_cstring", align 4
  %agg.tmp383 = alloca %"class.boost::unit_test::basic_cstring", align 4
  %agg.tmp386 = alloca %"struct.boost::test_tools::tt_detail::equal_impl_frwd", align 1
  %ref.tmp387 = alloca %"class.boost::unit_test::lazy_ostream_impl", align 4
  %agg.tmp391 = alloca %"class.boost::unit_test::basic_cstring", align 4
  %ref.tmp394 = alloca i32, align 4
  %ref.tmp401 = alloca i32, align 4
  %agg.tmp411 = alloca %"class.boost::unit_test::basic_cstring", align 4
  %agg.tmp413 = alloca %"class.boost::unit_test::basic_cstring", align 4
  %agg.tmp416 = alloca %"struct.boost::test_tools::tt_detail::equal_impl_frwd", align 1
  %ref.tmp417 = alloca %"class.boost::unit_test::lazy_ostream_impl", align 4
  %agg.tmp421 = alloca %"class.boost::unit_test::basic_cstring", align 4
  %ref.tmp430 = alloca i32, align 4
  %agg.tmp440 = alloca %"class.boost::unit_test::basic_cstring", align 4
  %agg.tmp442 = alloca %"class.boost::unit_test::basic_cstring", align 4
  %ref.tmp445 = alloca %"class.boost::test_tools::predicate_result", align 4
  %ref.tmp453 = alloca %"class.boost::unit_test::lazy_ostream_impl.0", align 4
  %ref.tmp457 = alloca %"class.boost::unit_test::basic_cstring", align 4
  %agg.tmp460 = alloca %"class.boost::unit_test::basic_cstring", align 4
  %agg.tmp475 = alloca %"class.boost::unit_test::basic_cstring", align 4
  %agg.tmp477 = alloca %"class.boost::unit_test::basic_cstring", align 4
  %agg.tmp480 = alloca %"struct.boost::test_tools::tt_detail::equal_impl_frwd", align 1
  %ref.tmp481 = alloca %"class.boost::unit_test::lazy_ostream_impl", align 4
  %agg.tmp485 = alloca %"class.boost::unit_test::basic_cstring", align 4
  %ref.tmp494 = alloca i32, align 4
  %agg.tmp504 = alloca %"class.boost::unit_test::basic_cstring", align 4
  %agg.tmp506 = alloca %"class.boost::unit_test::basic_cstring", align 4
  %ref.tmp509 = alloca %"class.boost::test_tools::predicate_result", align 4
  %ref.tmp518 = alloca %"class.boost::unit_test::lazy_ostream_impl.0", align 4
  %ref.tmp522 = alloca %"class.boost::unit_test::basic_cstring", align 4
  %agg.tmp525 = alloca %"class.boost::unit_test::basic_cstring", align 4
  %agg.tmp540 = alloca %"class.boost::unit_test::basic_cstring", align 4
  %agg.tmp542 = alloca %"class.boost::unit_test::basic_cstring", align 4
  %ref.tmp545 = alloca %"class.boost::test_tools::predicate_result", align 4
  %ref.tmp554 = alloca %"class.boost::unit_test::lazy_ostream_impl.0", align 4
  %ref.tmp558 = alloca %"class.boost::unit_test::basic_cstring", align 4
  %agg.tmp561 = alloca %"class.boost::unit_test::basic_cstring", align 4
  %agg.tmp576 = alloca %"class.boost::unit_test::basic_cstring", align 4
  %agg.tmp578 = alloca %"class.boost::unit_test::basic_cstring", align 4
  %agg.tmp581 = alloca %"struct.boost::test_tools::tt_detail::equal_impl_frwd", align 1
  %ref.tmp582 = alloca %"class.boost::unit_test::lazy_ostream_impl", align 4
  %agg.tmp586 = alloca %"class.boost::unit_test::basic_cstring", align 4
  %ref.tmp589 = alloca i8, align 1
  %ref.tmp596 = alloca i8, align 1
  %agg.tmp606 = alloca %"class.boost::unit_test::basic_cstring", align 4
  %agg.tmp608 = alloca %"class.boost::unit_test::basic_cstring", align 4
  %ref.tmp611 = alloca %"class.boost::test_tools::predicate_result", align 4
  %temp.lvalue612 = alloca %"class.std::locale", align 4
  %ref.tmp613 = alloca %"class.std::locale", align 4
  %ref.tmp623 = alloca %"class.boost::unit_test::lazy_ostream_impl.0", align 4
  %ref.tmp627 = alloca %"class.boost::unit_test::basic_cstring", align 4
  %agg.tmp630 = alloca %"class.boost::unit_test::basic_cstring", align 4
  %agg.tmp654 = alloca %"class.boost::unit_test::basic_cstring", align 4
  %agg.tmp656 = alloca %"class.boost::unit_test::basic_cstring", align 4
  %agg.tmp659 = alloca %"struct.boost::test_tools::tt_detail::equal_impl_frwd", align 1
  %ref.tmp660 = alloca %"class.boost::unit_test::lazy_ostream_impl", align 4
  %agg.tmp664 = alloca %"class.boost::unit_test::basic_cstring", align 4
  %ref.tmp669 = alloca i32, align 4
  %ref.tmp676 = alloca i32, align 4
  %agg.tmp686 = alloca %"struct.std::_Setprecision", align 4
  %agg.tmp691 = alloca %"class.boost::unit_test::basic_cstring", align 4
  %agg.tmp693 = alloca %"class.boost::unit_test::basic_cstring", align 4
  %agg.tmp696 = alloca %"struct.boost::test_tools::tt_detail::equal_impl_frwd", align 1
  %ref.tmp697 = alloca %"class.boost::unit_test::lazy_ostream_impl", align 4
  %agg.tmp701 = alloca %"class.boost::unit_test::basic_cstring", align 4
  %ref.tmp704 = alloca i32, align 4
  %ref.tmp711 = alloca i32, align 4
  %agg.tmp721 = alloca %"struct.std::_Setw", align 4
  %agg.tmp726 = alloca %"class.boost::unit_test::basic_cstring", align 4
  %agg.tmp728 = alloca %"class.boost::unit_test::basic_cstring", align 4
  %agg.tmp731 = alloca %"struct.boost::test_tools::tt_detail::equal_impl_frwd", align 1
  %ref.tmp732 = alloca %"class.boost::unit_test::lazy_ostream_impl", align 4
  %agg.tmp736 = alloca %"class.boost::unit_test::basic_cstring", align 4
  %ref.tmp739 = alloca i32, align 4
  %ref.tmp746 = alloca i32, align 4
  %agg.tmp761 = alloca %"class.boost::unit_test::basic_cstring", align 4
  %agg.tmp763 = alloca %"class.boost::unit_test::basic_cstring", align 4
  %agg.tmp766 = alloca %"struct.boost::test_tools::tt_detail::equal_impl_frwd", align 1
  %ref.tmp767 = alloca %"class.boost::unit_test::lazy_ostream_impl", align 4
  %agg.tmp771 = alloca %"class.boost::unit_test::basic_cstring", align 4
  %ref.tmp780 = alloca i32, align 4
  %agg.tmp790 = alloca %"class.boost::unit_test::basic_cstring", align 4
  %agg.tmp792 = alloca %"class.boost::unit_test::basic_cstring", align 4
  %ref.tmp795 = alloca %"class.boost::test_tools::predicate_result", align 4
  %ref.tmp803 = alloca %"class.boost::unit_test::lazy_ostream_impl.0", align 4
  %ref.tmp807 = alloca %"class.boost::unit_test::basic_cstring", align 4
  %agg.tmp810 = alloca %"class.boost::unit_test::basic_cstring", align 4
  %agg.tmp830 = alloca %"class.boost::unit_test::basic_cstring", align 4
  %agg.tmp832 = alloca %"class.boost::unit_test::basic_cstring", align 4
  %agg.tmp835 = alloca %"struct.boost::test_tools::tt_detail::equal_impl_frwd", align 1
  %ref.tmp836 = alloca %"class.boost::unit_test::lazy_ostream_impl", align 4
  %agg.tmp840 = alloca %"class.boost::unit_test::basic_cstring", align 4
  %ref.tmp849 = alloca i32, align 4
  %iis = alloca %"class.boost::io::basic_ios_iostate_saver", align 4
  %c = alloca i8, align 1
  %agg.tmp863 = alloca %"class.boost::unit_test::basic_cstring", align 4
  %agg.tmp866 = alloca %"class.boost::unit_test::basic_cstring", align 4
  %agg.tmp872 = alloca %"class.boost::unit_test::basic_cstring", align 4
  %agg.tmp874 = alloca %"class.boost::unit_test::basic_cstring", align 4
  %ref.tmp877 = alloca %"class.boost::test_tools::predicate_result", align 4
  %ref.tmp879 = alloca %"class.boost::unit_test::lazy_ostream_impl.1", align 4
  %agg.tmp884 = alloca %"class.boost::unit_test::basic_cstring", align 4
  %ex = alloca %"class.std::ios_base::failure"*, align 4
  %agg.tmp901 = alloca %"class.boost::unit_test::basic_cstring", align 4
  %agg.tmp903 = alloca %"class.boost::unit_test::basic_cstring", align 4
  %ref.tmp906 = alloca %"class.boost::test_tools::predicate_result", align 4
  %ref.tmp908 = alloca %"class.boost::unit_test::lazy_ostream_impl.2", align 4
  %agg.tmp913 = alloca %"class.boost::unit_test::basic_cstring", align 4
  %agg.tmp941 = alloca %"class.boost::unit_test::basic_cstring", align 4
  %agg.tmp943 = alloca %"class.boost::unit_test::basic_cstring", align 4
  %agg.tmp946 = alloca %"struct.boost::test_tools::tt_detail::equal_impl_frwd", align 1
  %ref.tmp947 = alloca %"class.boost::unit_test::lazy_ostream_impl", align 4
  %agg.tmp951 = alloca %"class.boost::unit_test::basic_cstring", align 4
  %ref.tmp954 = alloca %"class.std::basic_ostream"*, align 4
  %ref.tmp961 = alloca %"class.std::basic_ostream"*, align 4
  %agg.tmp983 = alloca %"class.boost::unit_test::basic_cstring", align 4
  %agg.tmp985 = alloca %"class.boost::unit_test::basic_cstring", align 4
  %agg.tmp988 = alloca %"struct.boost::test_tools::tt_detail::equal_impl_frwd", align 1
  %ref.tmp989 = alloca %"class.boost::unit_test::lazy_ostream_impl", align 4
  %agg.tmp993 = alloca %"class.boost::unit_test::basic_cstring", align 4
  %ref.tmp1002 = alloca %"class.std::basic_streambuf"*, align 4
  %ref.tmp1009 = alloca %"class.std::basic_streambuf"*, align 4
  %agg.tmp1019 = alloca %"struct.std::_Setfill", align 4
  %agg.tmp1024 = alloca %"class.boost::unit_test::basic_cstring", align 4
  %agg.tmp1026 = alloca %"class.boost::unit_test::basic_cstring", align 4
  %agg.tmp1029 = alloca %"struct.boost::test_tools::tt_detail::equal_impl_frwd", align 1
  %ref.tmp1030 = alloca %"class.boost::unit_test::lazy_ostream_impl", align 4
  %agg.tmp1034 = alloca %"class.boost::unit_test::basic_cstring", align 4
  %ref.tmp1037 = alloca i8, align 1
  %ref.tmp1044 = alloca i8, align 1
  %agg.tmp.ensured = alloca %"class.std::locale", align 4
  %ref.tmp1057 = alloca %"class.std::locale", align 4
  %agg.tmp1070 = alloca %"class.boost::unit_test::basic_cstring", align 4
  %agg.tmp1072 = alloca %"class.boost::unit_test::basic_cstring", align 4
  %ref.tmp1075 = alloca %"class.boost::test_tools::predicate_result", align 4
  %temp.lvalue1076 = alloca %"class.std::locale", align 4
  %ref.tmp1077 = alloca %"class.std::locale", align 4
  %ref.tmp1087 = alloca %"class.boost::unit_test::lazy_ostream_impl.0", align 4
  %ref.tmp1091 = alloca %"class.boost::unit_test::basic_cstring", align 4
  %agg.tmp1094 = alloca %"class.boost::unit_test::basic_cstring", align 4
  %agg.tmp1111 = alloca %"class.boost::unit_test::basic_cstring", align 4
  %agg.tmp1113 = alloca %"class.boost::unit_test::basic_cstring", align 4
  %ref.tmp1116 = alloca %"class.boost::test_tools::predicate_result", align 4
  %ref.tmp1117 = alloca %"class.std::locale", align 4
  %ref.tmp1124 = alloca %"class.std::locale", align 4
  %cleanup.cond = alloca i1
  %ref.tmp1136 = alloca %"class.boost::unit_test::lazy_ostream_impl.0", align 4
  %ref.tmp1140 = alloca %"class.boost::unit_test::basic_cstring", align 4
  %agg.tmp1143 = alloca %"class.boost::unit_test::basic_cstring", align 4
  %agg.tmp1166 = alloca %"class.boost::unit_test::basic_cstring", align 4
  %agg.tmp1168 = alloca %"class.boost::unit_test::basic_cstring", align 4
  %agg.tmp1171 = alloca %"struct.boost::test_tools::tt_detail::equal_impl_frwd", align 1
  %ref.tmp1172 = alloca %"class.boost::unit_test::lazy_ostream_impl", align 4
  %agg.tmp1176 = alloca %"class.boost::unit_test::basic_cstring", align 4
  %ref.tmp1181 = alloca i32, align 4
  %ref.tmp1188 = alloca i32, align 4
  %agg.tmp1198 = alloca %"class.boost::unit_test::basic_cstring", align 4
  %agg.tmp1200 = alloca %"class.boost::unit_test::basic_cstring", align 4
  %agg.tmp1203 = alloca %"struct.boost::test_tools::tt_detail::equal_impl_frwd", align 1
  %ref.tmp1204 = alloca %"class.boost::unit_test::lazy_ostream_impl", align 4
  %agg.tmp1208 = alloca %"class.boost::unit_test::basic_cstring", align 4
  %ref.tmp1211 = alloca i32, align 4
  %ref.tmp1218 = alloca i32, align 4
  %agg.tmp1228 = alloca %"class.boost::unit_test::basic_cstring", align 4
  %agg.tmp1230 = alloca %"class.boost::unit_test::basic_cstring", align 4
  %agg.tmp1233 = alloca %"struct.boost::test_tools::tt_detail::equal_impl_frwd", align 1
  %ref.tmp1234 = alloca %"class.boost::unit_test::lazy_ostream_impl", align 4
  %agg.tmp1238 = alloca %"class.boost::unit_test::basic_cstring", align 4
  %ref.tmp1241 = alloca i32, align 4
  %ref.tmp1248 = alloca i32, align 4
  %agg.tmp1258 = alloca %"class.boost::unit_test::basic_cstring", align 4
  %agg.tmp1260 = alloca %"class.boost::unit_test::basic_cstring", align 4
  %agg.tmp1263 = alloca %"struct.boost::test_tools::tt_detail::equal_impl_frwd", align 1
  %ref.tmp1264 = alloca %"class.boost::unit_test::lazy_ostream_impl", align 4
  %agg.tmp1268 = alloca %"class.boost::unit_test::basic_cstring", align 4
  %ref.tmp1277 = alloca i32, align 4
  %agg.tmp1287 = alloca %"class.boost::unit_test::basic_cstring", align 4
  %agg.tmp1289 = alloca %"class.boost::unit_test::basic_cstring", align 4
  %ref.tmp1292 = alloca %"class.boost::test_tools::predicate_result", align 4
  %ref.tmp1300 = alloca %"class.boost::unit_test::lazy_ostream_impl.0", align 4
  %ref.tmp1304 = alloca %"class.boost::unit_test::basic_cstring", align 4
  %agg.tmp1307 = alloca %"class.boost::unit_test::basic_cstring", align 4
  %agg.tmp1322 = alloca %"class.boost::unit_test::basic_cstring", align 4
  %agg.tmp1324 = alloca %"class.boost::unit_test::basic_cstring", align 4
  %agg.tmp1327 = alloca %"struct.boost::test_tools::tt_detail::equal_impl_frwd", align 1
  %ref.tmp1328 = alloca %"class.boost::unit_test::lazy_ostream_impl", align 4
  %agg.tmp1332 = alloca %"class.boost::unit_test::basic_cstring", align 4
  %ref.tmp1341 = alloca i32, align 4
  %agg.tmp1351 = alloca %"class.boost::unit_test::basic_cstring", align 4
  %agg.tmp1353 = alloca %"class.boost::unit_test::basic_cstring", align 4
  %ref.tmp1356 = alloca %"class.boost::test_tools::predicate_result", align 4
  %ref.tmp1365 = alloca %"class.boost::unit_test::lazy_ostream_impl.0", align 4
  %ref.tmp1369 = alloca %"class.boost::unit_test::basic_cstring", align 4
  %agg.tmp1372 = alloca %"class.boost::unit_test::basic_cstring", align 4
  %agg.tmp1387 = alloca %"class.boost::unit_test::basic_cstring", align 4
  %agg.tmp1389 = alloca %"class.boost::unit_test::basic_cstring", align 4
  %ref.tmp1392 = alloca %"class.boost::test_tools::predicate_result", align 4
  %ref.tmp1401 = alloca %"class.boost::unit_test::lazy_ostream_impl.0", align 4
  %ref.tmp1405 = alloca %"class.boost::unit_test::basic_cstring", align 4
  %agg.tmp1408 = alloca %"class.boost::unit_test::basic_cstring", align 4
  %agg.tmp1423 = alloca %"class.boost::unit_test::basic_cstring", align 4
  %agg.tmp1425 = alloca %"class.boost::unit_test::basic_cstring", align 4
  %agg.tmp1428 = alloca %"struct.boost::test_tools::tt_detail::equal_impl_frwd", align 1
  %ref.tmp1429 = alloca %"class.boost::unit_test::lazy_ostream_impl", align 4
  %agg.tmp1433 = alloca %"class.boost::unit_test::basic_cstring", align 4
  %ref.tmp1436 = alloca i8, align 1
  %ref.tmp1443 = alloca i8, align 1
  %agg.tmp1453 = alloca %"class.boost::unit_test::basic_cstring", align 4
  %agg.tmp1455 = alloca %"class.boost::unit_test::basic_cstring", align 4
  %ref.tmp1458 = alloca %"class.boost::test_tools::predicate_result", align 4
  %temp.lvalue1459 = alloca %"class.std::locale", align 4
  %ref.tmp1460 = alloca %"class.std::locale", align 4
  %ref.tmp1470 = alloca %"class.boost::unit_test::lazy_ostream_impl.0", align 4
  %ref.tmp1474 = alloca %"class.boost::unit_test::basic_cstring", align 4
  %agg.tmp1477 = alloca %"class.boost::unit_test::basic_cstring", align 4
  %call = call i32 @_ZStorSt13_Ios_OpenmodeS_(i32 8, i32 16)
  call void @_ZNSt15basic_stringbufIcSt11char_traitsIcESaIcEEC1ESt13_Ios_Openmode(%"class.std::basic_stringbuf"* %sb, i32 %call)
  %0 = bitcast %"class.std::basic_stringbuf"* %sb to %"class.std::basic_streambuf"*
  invoke void @_ZNSdC1EPSt15basic_streambufIcSt11char_traitsIcEE(%"class.std::basic_iostream"* %ss, %"class.std::basic_streambuf"* %0)
          to label %invoke.cont unwind label %lpad

invoke.cont:                                      ; preds = %entry
  br label %do.body

do.body:                                          ; preds = %do.cond, %invoke.cont
  %1 = load %"class.boost::unit_test::unit_test_log_t"** @_ZN5boost9unit_test12_GLOBAL__N_113unit_test_logE, align 4
  invoke void @_ZN5boost9unit_test13basic_cstringIKcEC1EPS2_j(%"class.boost::unit_test::basic_cstring"* %agg.tmp, i8* getelementptr inbounds ([24 x i8]* @.str, i32 0, i32 0), i32 23)
          to label %invoke.cont2 unwind label %lpad1

invoke.cont2:                                     ; preds = %do.body
  invoke void @_ZN5boost9unit_test13basic_cstringIKcEC1Ev(%"class.boost::unit_test::basic_cstring"* %agg.tmp3)
          to label %invoke.cont4 unwind label %lpad1

invoke.cont4:                                     ; preds = %invoke.cont2
  invoke void @_ZN5boost9unit_test15unit_test_log_t14set_checkpointENS0_13basic_cstringIKcEEjS4_(%"class.boost::unit_test::unit_test_log_t"* %1, %"class.boost::unit_test::basic_cstring"* byval align 4 %agg.tmp, i32 535, %"class.boost::unit_test::basic_cstring"* byval align 4 %agg.tmp3)
          to label %invoke.cont5 unwind label %lpad1

invoke.cont5:                                     ; preds = %invoke.cont4
  %call8 = invoke %"class.boost::unit_test::lazy_ostream"* @_ZN5boost9unit_test12lazy_ostream8instanceEv()
          to label %invoke.cont7 unwind label %lpad1

invoke.cont7:                                     ; preds = %invoke.cont5
  invoke void @_ZN5boost9unit_testlsIA1_cEENS0_17lazy_ostream_implIRKT_EERKNS0_12lazy_ostreamES6_(%"class.boost::unit_test::lazy_ostream_impl"* sret %ref.tmp, %"class.boost::unit_test::lazy_ostream"* %call8, [1 x i8]* @.str3)
          to label %invoke.cont9 unwind label %lpad1

invoke.cont9:                                     ; preds = %invoke.cont7
  %2 = bitcast %"class.boost::unit_test::lazy_ostream_impl"* %ref.tmp to %"class.boost::unit_test::lazy_ostream"*
  invoke void @_ZN5boost9unit_test13basic_cstringIKcEC1EPS2_j(%"class.boost::unit_test::basic_cstring"* %agg.tmp10, i8* getelementptr inbounds ([24 x i8]* @.str, i32 0, i32 0), i32 23)
          to label %invoke.cont12 unwind label %lpad11

invoke.cont12:                                    ; preds = %invoke.cont9
  %call14 = invoke i32 @_ZStorSt13_Ios_FmtflagsS_(i32 4096, i32 2)
          to label %invoke.cont13 unwind label %lpad11

invoke.cont13:                                    ; preds = %invoke.cont12
  store i32 %call14, i32* %ref.tmp15, align 4
  %3 = bitcast %"class.std::basic_iostream"* %ss to i8**
  %vtable = load i8** %3
  %vbase.offset.ptr = getelementptr i8* %vtable, i64 -12
  %4 = bitcast i8* %vbase.offset.ptr to i32*
  %vbase.offset = load i32* %4
  %5 = bitcast %"class.std::basic_iostream"* %ss to i8*
  %add.ptr = getelementptr inbounds i8* %5, i32 %vbase.offset
  %6 = bitcast i8* %add.ptr to %"class.std::ios_base"*
  %call17 = invoke i32 @_ZNKSt8ios_base5flagsEv(%"class.std::ios_base"* %6)
          to label %invoke.cont16 unwind label %lpad11

invoke.cont16:                                    ; preds = %invoke.cont13
  store i32 %call17, i32* %ref.tmp18, align 4
  %call20 = invoke zeroext i1 @_ZN5boost10test_tools9tt_detail10check_frwdINS1_15equal_impl_frwdESt13_Ios_FmtflagsS4_EEbT_RKNS_9unit_test12lazy_ostreamENS6_13basic_cstringIKcEEjNS1_10tool_levelENS1_10check_typeERKT0_PSB_RKT1_SI_(%"class.boost::unit_test::lazy_ostream"* %2, %"class.boost::unit_test::basic_cstring"* byval align 4 %agg.tmp10, i32 535, i32 1, i32 2, i32* %ref.tmp15, i8* getelementptr inbounds ([35 x i8]* @.str4, i32 0, i32 0), i32* %ref.tmp18, i8* getelementptr inbounds ([11 x i8]* @.str5, i32 0, i32 0))
          to label %invoke.cont19 unwind label %lpad11

invoke.cont19:                                    ; preds = %invoke.cont16
  invoke void @_ZN5boost9unit_test17lazy_ostream_implIRA1_KcED1Ev(%"class.boost::unit_test::lazy_ostream_impl"* %ref.tmp)
          to label %invoke.cont21 unwind label %lpad1

invoke.cont21:                                    ; preds = %invoke.cont19
  br label %do.cond

do.cond:                                          ; preds = %invoke.cont21
  %7 = load i8* @_ZN5boost10test_tools12_GLOBAL__N_110dummy_condE, align 1
  %tobool = trunc i8 %7 to i1
  br i1 %tobool, label %do.body, label %do.end

do.end:                                           ; preds = %do.cond
  br label %do.body23

do.body23:                                        ; preds = %do.cond49, %do.end
  %8 = load %"class.boost::unit_test::unit_test_log_t"** @_ZN5boost9unit_test12_GLOBAL__N_113unit_test_logE, align 4
  invoke void @_ZN5boost9unit_test13basic_cstringIKcEC1EPS2_j(%"class.boost::unit_test::basic_cstring"* %agg.tmp24, i8* getelementptr inbounds ([24 x i8]* @.str, i32 0, i32 0), i32 23)
          to label %invoke.cont25 unwind label %lpad1

invoke.cont25:                                    ; preds = %do.body23
  invoke void @_ZN5boost9unit_test13basic_cstringIKcEC1Ev(%"class.boost::unit_test::basic_cstring"* %agg.tmp26)
          to label %invoke.cont27 unwind label %lpad1

invoke.cont27:                                    ; preds = %invoke.cont25
  invoke void @_ZN5boost9unit_test15unit_test_log_t14set_checkpointENS0_13basic_cstringIKcEEjS4_(%"class.boost::unit_test::unit_test_log_t"* %8, %"class.boost::unit_test::basic_cstring"* byval align 4 %agg.tmp24, i32 536, %"class.boost::unit_test::basic_cstring"* byval align 4 %agg.tmp26)
          to label %invoke.cont28 unwind label %lpad1

invoke.cont28:                                    ; preds = %invoke.cont27
  %call32 = invoke %"class.boost::unit_test::lazy_ostream"* @_ZN5boost9unit_test12lazy_ostream8instanceEv()
          to label %invoke.cont31 unwind label %lpad1

invoke.cont31:                                    ; preds = %invoke.cont28
  invoke void @_ZN5boost9unit_testlsIA1_cEENS0_17lazy_ostream_implIRKT_EERKNS0_12lazy_ostreamES6_(%"class.boost::unit_test::lazy_ostream_impl"* sret %ref.tmp30, %"class.boost::unit_test::lazy_ostream"* %call32, [1 x i8]* @.str3)
          to label %invoke.cont33 unwind label %lpad1

invoke.cont33:                                    ; preds = %invoke.cont31
  %9 = bitcast %"class.boost::unit_test::lazy_ostream_impl"* %ref.tmp30 to %"class.boost::unit_test::lazy_ostream"*
  invoke void @_ZN5boost9unit_test13basic_cstringIKcEC1EPS2_j(%"class.boost::unit_test::basic_cstring"* %agg.tmp34, i8* getelementptr inbounds ([24 x i8]* @.str, i32 0, i32 0), i32 23)
          to label %invoke.cont36 unwind label %lpad35

invoke.cont36:                                    ; preds = %invoke.cont33
  store i32 6, i32* %ref.tmp37, align 4
  %10 = bitcast %"class.std::basic_iostream"* %ss to i8**
  %vtable38 = load i8** %10
  %vbase.offset.ptr39 = getelementptr i8* %vtable38, i64 -12
  %11 = bitcast i8* %vbase.offset.ptr39 to i32*
  %vbase.offset40 = load i32* %11
  %12 = bitcast %"class.std::basic_iostream"* %ss to i8*
  %add.ptr41 = getelementptr inbounds i8* %12, i32 %vbase.offset40
  %13 = bitcast i8* %add.ptr41 to %"class.std::ios_base"*
  %call43 = invoke i32 @_ZNKSt8ios_base9precisionEv(%"class.std::ios_base"* %13)
          to label %invoke.cont42 unwind label %lpad35

invoke.cont42:                                    ; preds = %invoke.cont36
  store i32 %call43, i32* %ref.tmp44, align 4
  %call46 = invoke zeroext i1 @_ZN5boost10test_tools9tt_detail10check_frwdINS1_15equal_impl_frwdEiiEEbT_RKNS_9unit_test12lazy_ostreamENS5_13basic_cstringIKcEEjNS1_10tool_levelENS1_10check_typeERKT0_PSA_RKT1_SH_(%"class.boost::unit_test::lazy_ostream"* %9, %"class.boost::unit_test::basic_cstring"* byval align 4 %agg.tmp34, i32 536, i32 1, i32 2, i32* %ref.tmp37, i8* getelementptr inbounds ([2 x i8]* @.str9, i32 0, i32 0), i32* %ref.tmp44, i8* getelementptr inbounds ([15 x i8]* @.str10, i32 0, i32 0))
          to label %invoke.cont45 unwind label %lpad35

invoke.cont45:                                    ; preds = %invoke.cont42
  invoke void @_ZN5boost9unit_test17lazy_ostream_implIRA1_KcED1Ev(%"class.boost::unit_test::lazy_ostream_impl"* %ref.tmp30)
          to label %invoke.cont47 unwind label %lpad1

invoke.cont47:                                    ; preds = %invoke.cont45
  br label %do.cond49

do.cond49:                                        ; preds = %invoke.cont47
  %14 = load i8* @_ZN5boost10test_tools12_GLOBAL__N_110dummy_condE, align 1
  %tobool50 = trunc i8 %14 to i1
  br i1 %tobool50, label %do.body23, label %do.end51

do.end51:                                         ; preds = %do.cond49
  br label %do.body52

do.body52:                                        ; preds = %do.cond78, %do.end51
  %15 = load %"class.boost::unit_test::unit_test_log_t"** @_ZN5boost9unit_test12_GLOBAL__N_113unit_test_logE, align 4
  invoke void @_ZN5boost9unit_test13basic_cstringIKcEC1EPS2_j(%"class.boost::unit_test::basic_cstring"* %agg.tmp53, i8* getelementptr inbounds ([24 x i8]* @.str, i32 0, i32 0), i32 23)
          to label %invoke.cont54 unwind label %lpad1

invoke.cont54:                                    ; preds = %do.body52
  invoke void @_ZN5boost9unit_test13basic_cstringIKcEC1Ev(%"class.boost::unit_test::basic_cstring"* %agg.tmp55)
          to label %invoke.cont56 unwind label %lpad1

invoke.cont56:                                    ; preds = %invoke.cont54
  invoke void @_ZN5boost9unit_test15unit_test_log_t14set_checkpointENS0_13basic_cstringIKcEEjS4_(%"class.boost::unit_test::unit_test_log_t"* %15, %"class.boost::unit_test::basic_cstring"* byval align 4 %agg.tmp53, i32 537, %"class.boost::unit_test::basic_cstring"* byval align 4 %agg.tmp55)
          to label %invoke.cont57 unwind label %lpad1

invoke.cont57:                                    ; preds = %invoke.cont56
  %call61 = invoke %"class.boost::unit_test::lazy_ostream"* @_ZN5boost9unit_test12lazy_ostream8instanceEv()
          to label %invoke.cont60 unwind label %lpad1

invoke.cont60:                                    ; preds = %invoke.cont57
  invoke void @_ZN5boost9unit_testlsIA1_cEENS0_17lazy_ostream_implIRKT_EERKNS0_12lazy_ostreamES6_(%"class.boost::unit_test::lazy_ostream_impl"* sret %ref.tmp59, %"class.boost::unit_test::lazy_ostream"* %call61, [1 x i8]* @.str3)
          to label %invoke.cont62 unwind label %lpad1

invoke.cont62:                                    ; preds = %invoke.cont60
  %16 = bitcast %"class.boost::unit_test::lazy_ostream_impl"* %ref.tmp59 to %"class.boost::unit_test::lazy_ostream"*
  invoke void @_ZN5boost9unit_test13basic_cstringIKcEC1EPS2_j(%"class.boost::unit_test::basic_cstring"* %agg.tmp63, i8* getelementptr inbounds ([24 x i8]* @.str, i32 0, i32 0), i32 23)
          to label %invoke.cont65 unwind label %lpad64

invoke.cont65:                                    ; preds = %invoke.cont62
  store i32 0, i32* %ref.tmp66, align 4
  %17 = bitcast %"class.std::basic_iostream"* %ss to i8**
  %vtable67 = load i8** %17
  %vbase.offset.ptr68 = getelementptr i8* %vtable67, i64 -12
  %18 = bitcast i8* %vbase.offset.ptr68 to i32*
  %vbase.offset69 = load i32* %18
  %19 = bitcast %"class.std::basic_iostream"* %ss to i8*
  %add.ptr70 = getelementptr inbounds i8* %19, i32 %vbase.offset69
  %20 = bitcast i8* %add.ptr70 to %"class.std::ios_base"*
  %call72 = invoke i32 @_ZNKSt8ios_base5widthEv(%"class.std::ios_base"* %20)
          to label %invoke.cont71 unwind label %lpad64

invoke.cont71:                                    ; preds = %invoke.cont65
  store i32 %call72, i32* %ref.tmp73, align 4
  %call75 = invoke zeroext i1 @_ZN5boost10test_tools9tt_detail10check_frwdINS1_15equal_impl_frwdEiiEEbT_RKNS_9unit_test12lazy_ostreamENS5_13basic_cstringIKcEEjNS1_10tool_levelENS1_10check_typeERKT0_PSA_RKT1_SH_(%"class.boost::unit_test::lazy_ostream"* %16, %"class.boost::unit_test::basic_cstring"* byval align 4 %agg.tmp63, i32 537, i32 1, i32 2, i32* %ref.tmp66, i8* getelementptr inbounds ([2 x i8]* @.str14, i32 0, i32 0), i32* %ref.tmp73, i8* getelementptr inbounds ([11 x i8]* @.str15, i32 0, i32 0))
          to label %invoke.cont74 unwind label %lpad64

invoke.cont74:                                    ; preds = %invoke.cont71
  invoke void @_ZN5boost9unit_test17lazy_ostream_implIRA1_KcED1Ev(%"class.boost::unit_test::lazy_ostream_impl"* %ref.tmp59)
          to label %invoke.cont76 unwind label %lpad1

invoke.cont76:                                    ; preds = %invoke.cont74
  br label %do.cond78

do.cond78:                                        ; preds = %invoke.cont76
  %21 = load i8* @_ZN5boost10test_tools12_GLOBAL__N_110dummy_condE, align 1
  %tobool79 = trunc i8 %21 to i1
  br i1 %tobool79, label %do.body52, label %do.end80

do.end80:                                         ; preds = %do.cond78
  br label %do.body81

do.body81:                                        ; preds = %do.cond106, %do.end80
  %22 = load %"class.boost::unit_test::unit_test_log_t"** @_ZN5boost9unit_test12_GLOBAL__N_113unit_test_logE, align 4
  invoke void @_ZN5boost9unit_test13basic_cstringIKcEC1EPS2_j(%"class.boost::unit_test::basic_cstring"* %agg.tmp82, i8* getelementptr inbounds ([24 x i8]* @.str, i32 0, i32 0), i32 23)
          to label %invoke.cont83 unwind label %lpad1

invoke.cont83:                                    ; preds = %do.body81
  invoke void @_ZN5boost9unit_test13basic_cstringIKcEC1Ev(%"class.boost::unit_test::basic_cstring"* %agg.tmp84)
          to label %invoke.cont85 unwind label %lpad1

invoke.cont85:                                    ; preds = %invoke.cont83
  invoke void @_ZN5boost9unit_test15unit_test_log_t14set_checkpointENS0_13basic_cstringIKcEEjS4_(%"class.boost::unit_test::unit_test_log_t"* %22, %"class.boost::unit_test::basic_cstring"* byval align 4 %agg.tmp82, i32 538, %"class.boost::unit_test::basic_cstring"* byval align 4 %agg.tmp84)
          to label %invoke.cont86 unwind label %lpad1

invoke.cont86:                                    ; preds = %invoke.cont85
  %call90 = invoke %"class.boost::unit_test::lazy_ostream"* @_ZN5boost9unit_test12lazy_ostream8instanceEv()
          to label %invoke.cont89 unwind label %lpad1

invoke.cont89:                                    ; preds = %invoke.cont86
  invoke void @_ZN5boost9unit_testlsIA1_cEENS0_17lazy_ostream_implIRKT_EERKNS0_12lazy_ostreamES6_(%"class.boost::unit_test::lazy_ostream_impl"* sret %ref.tmp88, %"class.boost::unit_test::lazy_ostream"* %call90, [1 x i8]* @.str3)
          to label %invoke.cont91 unwind label %lpad1

invoke.cont91:                                    ; preds = %invoke.cont89
  %23 = bitcast %"class.boost::unit_test::lazy_ostream_impl"* %ref.tmp88 to %"class.boost::unit_test::lazy_ostream"*
  invoke void @_ZN5boost9unit_test13basic_cstringIKcEC1EPS2_j(%"class.boost::unit_test::basic_cstring"* %agg.tmp92, i8* getelementptr inbounds ([24 x i8]* @.str, i32 0, i32 0), i32 23)
          to label %invoke.cont94 unwind label %lpad93

invoke.cont94:                                    ; preds = %invoke.cont91
  %24 = bitcast %"class.std::basic_iostream"* %ss to i8**
  %vtable95 = load i8** %24
  %vbase.offset.ptr96 = getelementptr i8* %vtable95, i64 -12
  %25 = bitcast i8* %vbase.offset.ptr96 to i32*
  %vbase.offset97 = load i32* %25
  %26 = bitcast %"class.std::basic_iostream"* %ss to i8*
  %add.ptr98 = getelementptr inbounds i8* %26, i32 %vbase.offset97
  %27 = bitcast i8* %add.ptr98 to %"class.std::basic_ios"*
  %call100 = invoke i32 @_ZNKSt9basic_iosIcSt11char_traitsIcEE7rdstateEv(%"class.std::basic_ios"* %27)
          to label %invoke.cont99 unwind label %lpad93

invoke.cont99:                                    ; preds = %invoke.cont94
  store i32 %call100, i32* %ref.tmp101, align 4
  %call103 = invoke zeroext i1 @_ZN5boost10test_tools9tt_detail10check_frwdINS1_15equal_impl_frwdESt12_Ios_IostateS4_EEbT_RKNS_9unit_test12lazy_ostreamENS6_13basic_cstringIKcEEjNS1_10tool_levelENS1_10check_typeERKT0_PSB_RKT1_SI_(%"class.boost::unit_test::lazy_ostream"* %23, %"class.boost::unit_test::basic_cstring"* byval align 4 %agg.tmp92, i32 538, i32 1, i32 2, i32* @_ZNSt8ios_base7goodbitE, i8* getelementptr inbounds ([18 x i8]* @.str16, i32 0, i32 0), i32* %ref.tmp101, i8* getelementptr inbounds ([13 x i8]* @.str17, i32 0, i32 0))
          to label %invoke.cont102 unwind label %lpad93

invoke.cont102:                                   ; preds = %invoke.cont99
  invoke void @_ZN5boost9unit_test17lazy_ostream_implIRA1_KcED1Ev(%"class.boost::unit_test::lazy_ostream_impl"* %ref.tmp88)
          to label %invoke.cont104 unwind label %lpad1

invoke.cont104:                                   ; preds = %invoke.cont102
  br label %do.cond106

do.cond106:                                       ; preds = %invoke.cont104
  %28 = load i8* @_ZN5boost10test_tools12_GLOBAL__N_110dummy_condE, align 1
  %tobool107 = trunc i8 %28 to i1
  br i1 %tobool107, label %do.body81, label %do.end108

do.end108:                                        ; preds = %do.cond106
  br label %do.body109

do.body109:                                       ; preds = %do.cond139, %do.end108
  %29 = load %"class.boost::unit_test::unit_test_log_t"** @_ZN5boost9unit_test12_GLOBAL__N_113unit_test_logE, align 4
  invoke void @_ZN5boost9unit_test13basic_cstringIKcEC1EPS2_j(%"class.boost::unit_test::basic_cstring"* %agg.tmp110, i8* getelementptr inbounds ([24 x i8]* @.str, i32 0, i32 0), i32 23)
          to label %invoke.cont111 unwind label %lpad1

invoke.cont111:                                   ; preds = %do.body109
  invoke void @_ZN5boost9unit_test13basic_cstringIKcEC1Ev(%"class.boost::unit_test::basic_cstring"* %agg.tmp112)
          to label %invoke.cont113 unwind label %lpad1

invoke.cont113:                                   ; preds = %invoke.cont111
  invoke void @_ZN5boost9unit_test15unit_test_log_t14set_checkpointENS0_13basic_cstringIKcEEjS4_(%"class.boost::unit_test::unit_test_log_t"* %29, %"class.boost::unit_test::basic_cstring"* byval align 4 %agg.tmp110, i32 539, %"class.boost::unit_test::basic_cstring"* byval align 4 %agg.tmp112)
          to label %invoke.cont114 unwind label %lpad1

invoke.cont114:                                   ; preds = %invoke.cont113
  %30 = bitcast %"class.std::basic_iostream"* %ss to i8**
  %vtable116 = load i8** %30
  %vbase.offset.ptr117 = getelementptr i8* %vtable116, i64 -12
  %31 = bitcast i8* %vbase.offset.ptr117 to i32*
  %vbase.offset118 = load i32* %31
  %32 = bitcast %"class.std::basic_iostream"* %ss to i8*
  %add.ptr119 = getelementptr inbounds i8* %32, i32 %vbase.offset118
  %33 = bitcast i8* %add.ptr119 to %"class.std::basic_ios"*
  %call121 = invoke zeroext i1 @_ZNKSt9basic_iosIcSt11char_traitsIcEE4goodEv(%"class.std::basic_ios"* %33)
          to label %invoke.cont120 unwind label %lpad1

invoke.cont120:                                   ; preds = %invoke.cont114
  invoke void @_ZN5boost10test_tools16predicate_resultC1Eb(%"class.boost::test_tools::predicate_result"* %ref.tmp115, i1 zeroext %call121)
          to label %invoke.cont122 unwind label %lpad1

invoke.cont122:                                   ; preds = %invoke.cont120
  %call126 = invoke %"class.boost::unit_test::lazy_ostream"* @_ZN5boost9unit_test12lazy_ostream8instanceEv()
          to label %invoke.cont125 unwind label %lpad124

invoke.cont125:                                   ; preds = %invoke.cont122
  invoke void @_ZN5boost9unit_test13basic_cstringIKcEC1EPS2_j(%"class.boost::unit_test::basic_cstring"* %ref.tmp127, i8* getelementptr inbounds ([10 x i8]* @.str18, i32 0, i32 0), i32 9)
          to label %invoke.cont128 unwind label %lpad124

invoke.cont128:                                   ; preds = %invoke.cont125
  invoke void @_ZN5boost9unit_testlsINS0_13basic_cstringIKcEEEENS0_17lazy_ostream_implIRKT_EERKNS0_12lazy_ostreamES8_(%"class.boost::unit_test::lazy_ostream_impl.0"* sret %ref.tmp123, %"class.boost::unit_test::lazy_ostream"* %call126, %"class.boost::unit_test::basic_cstring"* %ref.tmp127)
          to label %invoke.cont129 unwind label %lpad124

invoke.cont129:                                   ; preds = %invoke.cont128
  %34 = bitcast %"class.boost::unit_test::lazy_ostream_impl.0"* %ref.tmp123 to %"class.boost::unit_test::lazy_ostream"*
  invoke void @_ZN5boost9unit_test13basic_cstringIKcEC1EPS2_j(%"class.boost::unit_test::basic_cstring"* %agg.tmp130, i8* getelementptr inbounds ([24 x i8]* @.str, i32 0, i32 0), i32 23)
          to label %invoke.cont132 unwind label %lpad131

invoke.cont132:                                   ; preds = %invoke.cont129
  %call134 = invoke zeroext i1 (%"class.boost::test_tools::predicate_result"*, %"class.boost::unit_test::lazy_ostream"*, %"class.boost::unit_test::basic_cstring"*, i32, i32, i32, i32, ...)* @_ZN5boost10test_tools9tt_detail10check_implERKNS0_16predicate_resultERKNS_9unit_test12lazy_ostreamENS5_13basic_cstringIKcEEjNS1_10tool_levelENS1_10check_typeEjz(%"class.boost::test_tools::predicate_result"* %ref.tmp115, %"class.boost::unit_test::lazy_ostream"* %34, %"class.boost::unit_test::basic_cstring"* byval align 4 %agg.tmp130, i32 539, i32 1, i32 0, i32 0)
          to label %invoke.cont133 unwind label %lpad131

invoke.cont133:                                   ; preds = %invoke.cont132
  invoke void @_ZN5boost9unit_test17lazy_ostream_implIRKNS0_13basic_cstringIKcEEED1Ev(%"class.boost::unit_test::lazy_ostream_impl.0"* %ref.tmp123)
          to label %invoke.cont135 unwind label %lpad124

invoke.cont135:                                   ; preds = %invoke.cont133
  invoke void @_ZN5boost10test_tools16predicate_resultD1Ev(%"class.boost::test_tools::predicate_result"* %ref.tmp115)
          to label %invoke.cont137 unwind label %lpad1

invoke.cont137:                                   ; preds = %invoke.cont135
  br label %do.cond139

do.cond139:                                       ; preds = %invoke.cont137
  %35 = load i8* @_ZN5boost10test_tools12_GLOBAL__N_110dummy_condE, align 1
  %tobool140 = trunc i8 %35 to i1
  br i1 %tobool140, label %do.body109, label %do.end141

do.end141:                                        ; preds = %do.cond139
  br label %do.body142

do.body142:                                       ; preds = %do.cond168, %do.end141
  %36 = load %"class.boost::unit_test::unit_test_log_t"** @_ZN5boost9unit_test12_GLOBAL__N_113unit_test_logE, align 4
  invoke void @_ZN5boost9unit_test13basic_cstringIKcEC1EPS2_j(%"class.boost::unit_test::basic_cstring"* %agg.tmp143, i8* getelementptr inbounds ([24 x i8]* @.str, i32 0, i32 0), i32 23)
          to label %invoke.cont144 unwind label %lpad1

invoke.cont144:                                   ; preds = %do.body142
  invoke void @_ZN5boost9unit_test13basic_cstringIKcEC1Ev(%"class.boost::unit_test::basic_cstring"* %agg.tmp145)
          to label %invoke.cont146 unwind label %lpad1

invoke.cont146:                                   ; preds = %invoke.cont144
  invoke void @_ZN5boost9unit_test15unit_test_log_t14set_checkpointENS0_13basic_cstringIKcEEjS4_(%"class.boost::unit_test::unit_test_log_t"* %36, %"class.boost::unit_test::basic_cstring"* byval align 4 %agg.tmp143, i32 540, %"class.boost::unit_test::basic_cstring"* byval align 4 %agg.tmp145)
          to label %invoke.cont147 unwind label %lpad1

invoke.cont147:                                   ; preds = %invoke.cont146
  %call151 = invoke %"class.boost::unit_test::lazy_ostream"* @_ZN5boost9unit_test12lazy_ostream8instanceEv()
          to label %invoke.cont150 unwind label %lpad1

invoke.cont150:                                   ; preds = %invoke.cont147
  invoke void @_ZN5boost9unit_testlsIA1_cEENS0_17lazy_ostream_implIRKT_EERKNS0_12lazy_ostreamES6_(%"class.boost::unit_test::lazy_ostream_impl"* sret %ref.tmp149, %"class.boost::unit_test::lazy_ostream"* %call151, [1 x i8]* @.str3)
          to label %invoke.cont152 unwind label %lpad1

invoke.cont152:                                   ; preds = %invoke.cont150
  %37 = bitcast %"class.boost::unit_test::lazy_ostream_impl"* %ref.tmp149 to %"class.boost::unit_test::lazy_ostream"*
  invoke void @_ZN5boost9unit_test13basic_cstringIKcEC1EPS2_j(%"class.boost::unit_test::basic_cstring"* %agg.tmp153, i8* getelementptr inbounds ([24 x i8]* @.str, i32 0, i32 0), i32 23)
          to label %invoke.cont155 unwind label %lpad154

invoke.cont155:                                   ; preds = %invoke.cont152
  %38 = bitcast %"class.std::basic_iostream"* %ss to i8**
  %vtable156 = load i8** %38
  %vbase.offset.ptr157 = getelementptr i8* %vtable156, i64 -12
  %39 = bitcast i8* %vbase.offset.ptr157 to i32*
  %vbase.offset158 = load i32* %39
  %40 = bitcast %"class.std::basic_iostream"* %ss to i8*
  %add.ptr159 = getelementptr inbounds i8* %40, i32 %vbase.offset158
  %41 = bitcast i8* %add.ptr159 to %"class.std::basic_ios"*
  %call161 = invoke i32 @_ZNKSt9basic_iosIcSt11char_traitsIcEE10exceptionsEv(%"class.std::basic_ios"* %41)
          to label %invoke.cont160 unwind label %lpad154

invoke.cont160:                                   ; preds = %invoke.cont155
  store i32 %call161, i32* %ref.tmp162, align 4
  %call164 = invoke zeroext i1 @_ZN5boost10test_tools9tt_detail10check_frwdINS1_15equal_impl_frwdESt12_Ios_IostateS4_EEbT_RKNS_9unit_test12lazy_ostreamENS6_13basic_cstringIKcEEjNS1_10tool_levelENS1_10check_typeERKT0_PSB_RKT1_SI_(%"class.boost::unit_test::lazy_ostream"* %37, %"class.boost::unit_test::basic_cstring"* byval align 4 %agg.tmp153, i32 540, i32 1, i32 2, i32* @_ZNSt8ios_base7goodbitE, i8* getelementptr inbounds ([18 x i8]* @.str16, i32 0, i32 0), i32* %ref.tmp162, i8* getelementptr inbounds ([16 x i8]* @.str26, i32 0, i32 0))
          to label %invoke.cont163 unwind label %lpad154

invoke.cont163:                                   ; preds = %invoke.cont160
  invoke void @_ZN5boost9unit_test17lazy_ostream_implIRA1_KcED1Ev(%"class.boost::unit_test::lazy_ostream_impl"* %ref.tmp149)
          to label %invoke.cont165 unwind label %lpad1

invoke.cont165:                                   ; preds = %invoke.cont163
  br label %do.cond168

do.cond168:                                       ; preds = %invoke.cont165
  %42 = load i8* @_ZN5boost10test_tools12_GLOBAL__N_110dummy_condE, align 1
  %tobool169 = trunc i8 %42 to i1
  br i1 %tobool169, label %do.body142, label %do.end170

do.end170:                                        ; preds = %do.cond168
  br label %do.body171

do.body171:                                       ; preds = %do.cond203, %do.end170
  %43 = load %"class.boost::unit_test::unit_test_log_t"** @_ZN5boost9unit_test12_GLOBAL__N_113unit_test_logE, align 4
  invoke void @_ZN5boost9unit_test13basic_cstringIKcEC1EPS2_j(%"class.boost::unit_test::basic_cstring"* %agg.tmp172, i8* getelementptr inbounds ([24 x i8]* @.str, i32 0, i32 0), i32 23)
          to label %invoke.cont173 unwind label %lpad1

invoke.cont173:                                   ; preds = %do.body171
  invoke void @_ZN5boost9unit_test13basic_cstringIKcEC1Ev(%"class.boost::unit_test::basic_cstring"* %agg.tmp174)
          to label %invoke.cont175 unwind label %lpad1

invoke.cont175:                                   ; preds = %invoke.cont173
  invoke void @_ZN5boost9unit_test15unit_test_log_t14set_checkpointENS0_13basic_cstringIKcEEjS4_(%"class.boost::unit_test::unit_test_log_t"* %43, %"class.boost::unit_test::basic_cstring"* byval align 4 %agg.tmp172, i32 541, %"class.boost::unit_test::basic_cstring"* byval align 4 %agg.tmp174)
          to label %invoke.cont176 unwind label %lpad1

invoke.cont176:                                   ; preds = %invoke.cont175
  %44 = bitcast %"class.std::basic_iostream"* %ss to i8**
  %vtable178 = load i8** %44
  %vbase.offset.ptr179 = getelementptr i8* %vtable178, i64 -12
  %45 = bitcast i8* %vbase.offset.ptr179 to i32*
  %vbase.offset180 = load i32* %45
  %46 = bitcast %"class.std::basic_iostream"* %ss to i8*
  %add.ptr181 = getelementptr inbounds i8* %46, i32 %vbase.offset180
  %47 = bitcast i8* %add.ptr181 to %"class.std::basic_ios"*
  %call183 = invoke %"class.std::basic_ostream"* @_ZNKSt9basic_iosIcSt11char_traitsIcEE3tieEv(%"class.std::basic_ios"* %47)
          to label %invoke.cont182 unwind label %lpad1

invoke.cont182:                                   ; preds = %invoke.cont176
  %cmp = icmp eq %"class.std::basic_ostream"* null, %call183
  invoke void @_ZN5boost10test_tools16predicate_resultC1Eb(%"class.boost::test_tools::predicate_result"* %ref.tmp177, i1 zeroext %cmp)
          to label %invoke.cont184 unwind label %lpad1

invoke.cont184:                                   ; preds = %invoke.cont182
  %call188 = invoke %"class.boost::unit_test::lazy_ostream"* @_ZN5boost9unit_test12lazy_ostream8instanceEv()
          to label %invoke.cont187 unwind label %lpad186

invoke.cont187:                                   ; preds = %invoke.cont184
  invoke void @_ZN5boost9unit_test13basic_cstringIKcEC1EPS2_j(%"class.boost::unit_test::basic_cstring"* %ref.tmp189, i8* getelementptr inbounds ([19 x i8]* @.str63, i32 0, i32 0), i32 18)
          to label %invoke.cont190 unwind label %lpad186

invoke.cont190:                                   ; preds = %invoke.cont187
  invoke void @_ZN5boost9unit_testlsINS0_13basic_cstringIKcEEEENS0_17lazy_ostream_implIRKT_EERKNS0_12lazy_ostreamES8_(%"class.boost::unit_test::lazy_ostream_impl.0"* sret %ref.tmp185, %"class.boost::unit_test::lazy_ostream"* %call188, %"class.boost::unit_test::basic_cstring"* %ref.tmp189)
          to label %invoke.cont191 unwind label %lpad186

invoke.cont191:                                   ; preds = %invoke.cont190
  %48 = bitcast %"class.boost::unit_test::lazy_ostream_impl.0"* %ref.tmp185 to %"class.boost::unit_test::lazy_ostream"*
  invoke void @_ZN5boost9unit_test13basic_cstringIKcEC1EPS2_j(%"class.boost::unit_test::basic_cstring"* %agg.tmp192, i8* getelementptr inbounds ([24 x i8]* @.str, i32 0, i32 0), i32 23)
          to label %invoke.cont194 unwind label %lpad193

invoke.cont194:                                   ; preds = %invoke.cont191
  %call196 = invoke zeroext i1 (%"class.boost::test_tools::predicate_result"*, %"class.boost::unit_test::lazy_ostream"*, %"class.boost::unit_test::basic_cstring"*, i32, i32, i32, i32, ...)* @_ZN5boost10test_tools9tt_detail10check_implERKNS0_16predicate_resultERKNS_9unit_test12lazy_ostreamENS5_13basic_cstringIKcEEjNS1_10tool_levelENS1_10check_typeEjz(%"class.boost::test_tools::predicate_result"* %ref.tmp177, %"class.boost::unit_test::lazy_ostream"* %48, %"class.boost::unit_test::basic_cstring"* byval align 4 %agg.tmp192, i32 541, i32 1, i32 0, i32 0)
          to label %invoke.cont195 unwind label %lpad193

invoke.cont195:                                   ; preds = %invoke.cont194
  invoke void @_ZN5boost9unit_test17lazy_ostream_implIRKNS0_13basic_cstringIKcEEED1Ev(%"class.boost::unit_test::lazy_ostream_impl.0"* %ref.tmp185)
          to label %invoke.cont197 unwind label %lpad186

invoke.cont197:                                   ; preds = %invoke.cont195
  invoke void @_ZN5boost10test_tools16predicate_resultD1Ev(%"class.boost::test_tools::predicate_result"* %ref.tmp177)
          to label %invoke.cont200 unwind label %lpad1

invoke.cont200:                                   ; preds = %invoke.cont197
  br label %do.cond203

do.cond203:                                       ; preds = %invoke.cont200
  %49 = load i8* @_ZN5boost10test_tools12_GLOBAL__N_110dummy_condE, align 1
  %tobool204 = trunc i8 %49 to i1
  br i1 %tobool204, label %do.body171, label %do.end205

do.end205:                                        ; preds = %do.cond203
  br label %do.body206

do.body206:                                       ; preds = %do.cond239, %do.end205
  %50 = load %"class.boost::unit_test::unit_test_log_t"** @_ZN5boost9unit_test12_GLOBAL__N_113unit_test_logE, align 4
  invoke void @_ZN5boost9unit_test13basic_cstringIKcEC1EPS2_j(%"class.boost::unit_test::basic_cstring"* %agg.tmp207, i8* getelementptr inbounds ([24 x i8]* @.str, i32 0, i32 0), i32 23)
          to label %invoke.cont208 unwind label %lpad1

invoke.cont208:                                   ; preds = %do.body206
  invoke void @_ZN5boost9unit_test13basic_cstringIKcEC1Ev(%"class.boost::unit_test::basic_cstring"* %agg.tmp209)
          to label %invoke.cont210 unwind label %lpad1

invoke.cont210:                                   ; preds = %invoke.cont208
  invoke void @_ZN5boost9unit_test15unit_test_log_t14set_checkpointENS0_13basic_cstringIKcEEjS4_(%"class.boost::unit_test::unit_test_log_t"* %50, %"class.boost::unit_test::basic_cstring"* byval align 4 %agg.tmp207, i32 542, %"class.boost::unit_test::basic_cstring"* byval align 4 %agg.tmp209)
          to label %invoke.cont211 unwind label %lpad1

invoke.cont211:                                   ; preds = %invoke.cont210
  %51 = bitcast %"class.std::basic_stringbuf"* %sb to %"class.std::basic_streambuf"*
  %52 = bitcast %"class.std::basic_iostream"* %ss to i8**
  %vtable213 = load i8** %52
  %vbase.offset.ptr214 = getelementptr i8* %vtable213, i64 -12
  %53 = bitcast i8* %vbase.offset.ptr214 to i32*
  %vbase.offset215 = load i32* %53
  %54 = bitcast %"class.std::basic_iostream"* %ss to i8*
  %add.ptr216 = getelementptr inbounds i8* %54, i32 %vbase.offset215
  %55 = bitcast i8* %add.ptr216 to %"class.std::basic_ios"*
  %call218 = invoke %"class.std::basic_streambuf"* @_ZNKSt9basic_iosIcSt11char_traitsIcEE5rdbufEv(%"class.std::basic_ios"* %55)
          to label %invoke.cont217 unwind label %lpad1

invoke.cont217:                                   ; preds = %invoke.cont211
  %cmp219 = icmp eq %"class.std::basic_streambuf"* %51, %call218
  invoke void @_ZN5boost10test_tools16predicate_resultC1Eb(%"class.boost::test_tools::predicate_result"* %ref.tmp212, i1 zeroext %cmp219)
          to label %invoke.cont220 unwind label %lpad1

invoke.cont220:                                   ; preds = %invoke.cont217
  %call224 = invoke %"class.boost::unit_test::lazy_ostream"* @_ZN5boost9unit_test12lazy_ostream8instanceEv()
          to label %invoke.cont223 unwind label %lpad222

invoke.cont223:                                   ; preds = %invoke.cont220
  invoke void @_ZN5boost9unit_test13basic_cstringIKcEC1EPS2_j(%"class.boost::unit_test::basic_cstring"* %ref.tmp225, i8* getelementptr inbounds ([18 x i8]* @.str64, i32 0, i32 0), i32 17)
          to label %invoke.cont226 unwind label %lpad222

invoke.cont226:                                   ; preds = %invoke.cont223
  invoke void @_ZN5boost9unit_testlsINS0_13basic_cstringIKcEEEENS0_17lazy_ostream_implIRKT_EERKNS0_12lazy_ostreamES8_(%"class.boost::unit_test::lazy_ostream_impl.0"* sret %ref.tmp221, %"class.boost::unit_test::lazy_ostream"* %call224, %"class.boost::unit_test::basic_cstring"* %ref.tmp225)
          to label %invoke.cont227 unwind label %lpad222

invoke.cont227:                                   ; preds = %invoke.cont226
  %56 = bitcast %"class.boost::unit_test::lazy_ostream_impl.0"* %ref.tmp221 to %"class.boost::unit_test::lazy_ostream"*
  invoke void @_ZN5boost9unit_test13basic_cstringIKcEC1EPS2_j(%"class.boost::unit_test::basic_cstring"* %agg.tmp228, i8* getelementptr inbounds ([24 x i8]* @.str, i32 0, i32 0), i32 23)
          to label %invoke.cont230 unwind label %lpad229

invoke.cont230:                                   ; preds = %invoke.cont227
  %call232 = invoke zeroext i1 (%"class.boost::test_tools::predicate_result"*, %"class.boost::unit_test::lazy_ostream"*, %"class.boost::unit_test::basic_cstring"*, i32, i32, i32, i32, ...)* @_ZN5boost10test_tools9tt_detail10check_implERKNS0_16predicate_resultERKNS_9unit_test12lazy_ostreamENS5_13basic_cstringIKcEEjNS1_10tool_levelENS1_10check_typeEjz(%"class.boost::test_tools::predicate_result"* %ref.tmp212, %"class.boost::unit_test::lazy_ostream"* %56, %"class.boost::unit_test::basic_cstring"* byval align 4 %agg.tmp228, i32 542, i32 1, i32 0, i32 0)
          to label %invoke.cont231 unwind label %lpad229

invoke.cont231:                                   ; preds = %invoke.cont230
  invoke void @_ZN5boost9unit_test17lazy_ostream_implIRKNS0_13basic_cstringIKcEEED1Ev(%"class.boost::unit_test::lazy_ostream_impl.0"* %ref.tmp221)
          to label %invoke.cont233 unwind label %lpad222

invoke.cont233:                                   ; preds = %invoke.cont231
  invoke void @_ZN5boost10test_tools16predicate_resultD1Ev(%"class.boost::test_tools::predicate_result"* %ref.tmp212)
          to label %invoke.cont236 unwind label %lpad1

invoke.cont236:                                   ; preds = %invoke.cont233
  br label %do.cond239

do.cond239:                                       ; preds = %invoke.cont236
  %57 = load i8* @_ZN5boost10test_tools12_GLOBAL__N_110dummy_condE, align 1
  %tobool240 = trunc i8 %57 to i1
  br i1 %tobool240, label %do.body206, label %do.end241

do.end241:                                        ; preds = %do.cond239
  br label %do.body242

do.body242:                                       ; preds = %do.cond269, %do.end241
  %58 = load %"class.boost::unit_test::unit_test_log_t"** @_ZN5boost9unit_test12_GLOBAL__N_113unit_test_logE, align 4
  invoke void @_ZN5boost9unit_test13basic_cstringIKcEC1EPS2_j(%"class.boost::unit_test::basic_cstring"* %agg.tmp243, i8* getelementptr inbounds ([24 x i8]* @.str, i32 0, i32 0), i32 23)
          to label %invoke.cont244 unwind label %lpad1

invoke.cont244:                                   ; preds = %do.body242
  invoke void @_ZN5boost9unit_test13basic_cstringIKcEC1Ev(%"class.boost::unit_test::basic_cstring"* %agg.tmp245)
          to label %invoke.cont246 unwind label %lpad1

invoke.cont246:                                   ; preds = %invoke.cont244
  invoke void @_ZN5boost9unit_test15unit_test_log_t14set_checkpointENS0_13basic_cstringIKcEEjS4_(%"class.boost::unit_test::unit_test_log_t"* %58, %"class.boost::unit_test::basic_cstring"* byval align 4 %agg.tmp243, i32 543, %"class.boost::unit_test::basic_cstring"* byval align 4 %agg.tmp245)
          to label %invoke.cont247 unwind label %lpad1

invoke.cont247:                                   ; preds = %invoke.cont246
  %call251 = invoke %"class.boost::unit_test::lazy_ostream"* @_ZN5boost9unit_test12lazy_ostream8instanceEv()
          to label %invoke.cont250 unwind label %lpad1

invoke.cont250:                                   ; preds = %invoke.cont247
  invoke void @_ZN5boost9unit_testlsIA1_cEENS0_17lazy_ostream_implIRKT_EERKNS0_12lazy_ostreamES6_(%"class.boost::unit_test::lazy_ostream_impl"* sret %ref.tmp249, %"class.boost::unit_test::lazy_ostream"* %call251, [1 x i8]* @.str3)
          to label %invoke.cont252 unwind label %lpad1

invoke.cont252:                                   ; preds = %invoke.cont250
  %59 = bitcast %"class.boost::unit_test::lazy_ostream_impl"* %ref.tmp249 to %"class.boost::unit_test::lazy_ostream"*
  invoke void @_ZN5boost9unit_test13basic_cstringIKcEC1EPS2_j(%"class.boost::unit_test::basic_cstring"* %agg.tmp253, i8* getelementptr inbounds ([24 x i8]* @.str, i32 0, i32 0), i32 23)
          to label %invoke.cont255 unwind label %lpad254

invoke.cont255:                                   ; preds = %invoke.cont252
  store i8 32, i8* %ref.tmp256, align 1
  %60 = bitcast %"class.std::basic_iostream"* %ss to i8**
  %vtable257 = load i8** %60
  %vbase.offset.ptr258 = getelementptr i8* %vtable257, i64 -12
  %61 = bitcast i8* %vbase.offset.ptr258 to i32*
  %vbase.offset259 = load i32* %61
  %62 = bitcast %"class.std::basic_iostream"* %ss to i8*
  %add.ptr260 = getelementptr inbounds i8* %62, i32 %vbase.offset259
  %63 = bitcast i8* %add.ptr260 to %"class.std::basic_ios"*
  %call262 = invoke signext i8 @_ZNKSt9basic_iosIcSt11char_traitsIcEE4fillEv(%"class.std::basic_ios"* %63)
          to label %invoke.cont261 unwind label %lpad254

invoke.cont261:                                   ; preds = %invoke.cont255
  store i8 %call262, i8* %ref.tmp263, align 1
  %call265 = invoke zeroext i1 @_ZN5boost10test_tools9tt_detail10check_frwdINS1_15equal_impl_frwdEccEEbT_RKNS_9unit_test12lazy_ostreamENS5_13basic_cstringIKcEEjNS1_10tool_levelENS1_10check_typeERKT0_PSA_RKT1_SH_(%"class.boost::unit_test::lazy_ostream"* %59, %"class.boost::unit_test::basic_cstring"* byval align 4 %agg.tmp253, i32 543, i32 1, i32 2, i8* %ref.tmp256, i8* getelementptr inbounds ([4 x i8]* @.str43, i32 0, i32 0), i8* %ref.tmp263, i8* getelementptr inbounds ([10 x i8]* @.str44, i32 0, i32 0))
          to label %invoke.cont264 unwind label %lpad254

invoke.cont264:                                   ; preds = %invoke.cont261
  invoke void @_ZN5boost9unit_test17lazy_ostream_implIRA1_KcED1Ev(%"class.boost::unit_test::lazy_ostream_impl"* %ref.tmp249)
          to label %invoke.cont266 unwind label %lpad1

invoke.cont266:                                   ; preds = %invoke.cont264
  br label %do.cond269

do.cond269:                                       ; preds = %invoke.cont266
  %64 = load i8* @_ZN5boost10test_tools12_GLOBAL__N_110dummy_condE, align 1
  %tobool270 = trunc i8 %64 to i1
  br i1 %tobool270, label %do.body242, label %do.end271

do.end271:                                        ; preds = %do.cond269
  br label %do.body272

do.body272:                                       ; preds = %do.cond309, %do.end271
  %65 = load %"class.boost::unit_test::unit_test_log_t"** @_ZN5boost9unit_test12_GLOBAL__N_113unit_test_logE, align 4
  invoke void @_ZN5boost9unit_test13basic_cstringIKcEC1EPS2_j(%"class.boost::unit_test::basic_cstring"* %agg.tmp273, i8* getelementptr inbounds ([24 x i8]* @.str, i32 0, i32 0), i32 23)
          to label %invoke.cont274 unwind label %lpad1

invoke.cont274:                                   ; preds = %do.body272
  invoke void @_ZN5boost9unit_test13basic_cstringIKcEC1Ev(%"class.boost::unit_test::basic_cstring"* %agg.tmp275)
          to label %invoke.cont276 unwind label %lpad1

invoke.cont276:                                   ; preds = %invoke.cont274
  invoke void @_ZN5boost9unit_test15unit_test_log_t14set_checkpointENS0_13basic_cstringIKcEEjS4_(%"class.boost::unit_test::unit_test_log_t"* %65, %"class.boost::unit_test::basic_cstring"* byval align 4 %agg.tmp273, i32 544, %"class.boost::unit_test::basic_cstring"* byval align 4 %agg.tmp275)
          to label %invoke.cont277 unwind label %lpad1

invoke.cont277:                                   ; preds = %invoke.cont276
  call void @_ZNSt6localeC1Ev(%"class.std::locale"* %temp.lvalue) nounwind
  %66 = bitcast %"class.std::basic_iostream"* %ss to i8**
  %vtable280 = load i8** %66
  %vbase.offset.ptr281 = getelementptr i8* %vtable280, i64 -12
  %67 = bitcast i8* %vbase.offset.ptr281 to i32*
  %vbase.offset282 = load i32* %67
  %68 = bitcast %"class.std::basic_iostream"* %ss to i8*
  %add.ptr283 = getelementptr inbounds i8* %68, i32 %vbase.offset282
  %69 = bitcast i8* %add.ptr283 to %"class.std::ios_base"*
  invoke void @_ZNKSt8ios_base6getlocEv(%"class.std::locale"* sret %ref.tmp279, %"class.std::ios_base"* %69)
          to label %invoke.cont285 unwind label %lpad284

invoke.cont285:                                   ; preds = %invoke.cont277
  %call286 = call zeroext i1 @_ZNKSt6localeeqERKS_(%"class.std::locale"* %temp.lvalue, %"class.std::locale"* %ref.tmp279) nounwind
  invoke void @_ZN5boost10test_tools16predicate_resultC1Eb(%"class.boost::test_tools::predicate_result"* %ref.tmp278, i1 zeroext %call286)
          to label %invoke.cont288 unwind label %lpad287

invoke.cont288:                                   ; preds = %invoke.cont285
  %call292 = invoke %"class.boost::unit_test::lazy_ostream"* @_ZN5boost9unit_test12lazy_ostream8instanceEv()
          to label %invoke.cont291 unwind label %lpad290

invoke.cont291:                                   ; preds = %invoke.cont288
  invoke void @_ZN5boost9unit_test13basic_cstringIKcEC1EPS2_j(%"class.boost::unit_test::basic_cstring"* %ref.tmp293, i8* getelementptr inbounds ([24 x i8]* @.str48, i32 0, i32 0), i32 23)
          to label %invoke.cont294 unwind label %lpad290

invoke.cont294:                                   ; preds = %invoke.cont291
  invoke void @_ZN5boost9unit_testlsINS0_13basic_cstringIKcEEEENS0_17lazy_ostream_implIRKT_EERKNS0_12lazy_ostreamES8_(%"class.boost::unit_test::lazy_ostream_impl.0"* sret %ref.tmp289, %"class.boost::unit_test::lazy_ostream"* %call292, %"class.boost::unit_test::basic_cstring"* %ref.tmp293)
          to label %invoke.cont295 unwind label %lpad290

invoke.cont295:                                   ; preds = %invoke.cont294
  %70 = bitcast %"class.boost::unit_test::lazy_ostream_impl.0"* %ref.tmp289 to %"class.boost::unit_test::lazy_ostream"*
  invoke void @_ZN5boost9unit_test13basic_cstringIKcEC1EPS2_j(%"class.boost::unit_test::basic_cstring"* %agg.tmp296, i8* getelementptr inbounds ([24 x i8]* @.str, i32 0, i32 0), i32 23)
          to label %invoke.cont298 unwind label %lpad297

invoke.cont298:                                   ; preds = %invoke.cont295
  %call300 = invoke zeroext i1 (%"class.boost::test_tools::predicate_result"*, %"class.boost::unit_test::lazy_ostream"*, %"class.boost::unit_test::basic_cstring"*, i32, i32, i32, i32, ...)* @_ZN5boost10test_tools9tt_detail10check_implERKNS0_16predicate_resultERKNS_9unit_test12lazy_ostreamENS5_13basic_cstringIKcEEjNS1_10tool_levelENS1_10check_typeEjz(%"class.boost::test_tools::predicate_result"* %ref.tmp278, %"class.boost::unit_test::lazy_ostream"* %70, %"class.boost::unit_test::basic_cstring"* byval align 4 %agg.tmp296, i32 544, i32 1, i32 0, i32 0)
          to label %invoke.cont299 unwind label %lpad297

invoke.cont299:                                   ; preds = %invoke.cont298
  invoke void @_ZN5boost9unit_test17lazy_ostream_implIRKNS0_13basic_cstringIKcEEED1Ev(%"class.boost::unit_test::lazy_ostream_impl.0"* %ref.tmp289)
          to label %invoke.cont301 unwind label %lpad290

invoke.cont301:                                   ; preds = %invoke.cont299
  invoke void @_ZN5boost10test_tools16predicate_resultD1Ev(%"class.boost::test_tools::predicate_result"* %ref.tmp278)
          to label %invoke.cont304 unwind label %lpad287

invoke.cont304:                                   ; preds = %invoke.cont301
  call void @_ZNSt6localeD1Ev(%"class.std::locale"* %ref.tmp279) nounwind
  call void @_ZNSt6localeD1Ev(%"class.std::locale"* %temp.lvalue) nounwind
  br label %do.cond309

do.cond309:                                       ; preds = %invoke.cont304
  %71 = load i8* @_ZN5boost10test_tools12_GLOBAL__N_110dummy_condE, align 1
  %tobool310 = trunc i8 %71 to i1
  br i1 %tobool310, label %do.body272, label %do.end311

do.end311:                                        ; preds = %do.cond309
  %72 = bitcast %"class.std::basic_iostream"* %ss to i8**
  %vtable312 = load i8** %72
  %vbase.offset.ptr313 = getelementptr i8* %vtable312, i64 -12
  %73 = bitcast i8* %vbase.offset.ptr313 to i32*
  %vbase.offset314 = load i32* %73
  %74 = bitcast %"class.std::basic_iostream"* %ss to i8*
  %add.ptr315 = getelementptr inbounds i8* %74, i32 %vbase.offset314
  %75 = bitcast i8* %add.ptr315 to %"class.std::basic_ios"*
  invoke void @_ZN5boost2io19basic_ios_all_saverIcSt11char_traitsIcEEC1ERSt9basic_iosIcS3_E(%"class.boost::io::basic_ios_all_saver"* %ias, %"class.std::basic_ios"* %75)
          to label %invoke.cont316 unwind label %lpad1

invoke.cont316:                                   ; preds = %do.end311
  br label %do.body317

do.body317:                                       ; preds = %do.cond347, %invoke.cont316
  %76 = load %"class.boost::unit_test::unit_test_log_t"** @_ZN5boost9unit_test12_GLOBAL__N_113unit_test_logE, align 4
  invoke void @_ZN5boost9unit_test13basic_cstringIKcEC1EPS2_j(%"class.boost::unit_test::basic_cstring"* %agg.tmp318, i8* getelementptr inbounds ([24 x i8]* @.str, i32 0, i32 0), i32 23)
          to label %invoke.cont320 unwind label %lpad319

invoke.cont320:                                   ; preds = %do.body317
  invoke void @_ZN5boost9unit_test13basic_cstringIKcEC1Ev(%"class.boost::unit_test::basic_cstring"* %agg.tmp321)
          to label %invoke.cont322 unwind label %lpad319

invoke.cont322:                                   ; preds = %invoke.cont320
  invoke void @_ZN5boost9unit_test15unit_test_log_t14set_checkpointENS0_13basic_cstringIKcEEjS4_(%"class.boost::unit_test::unit_test_log_t"* %76, %"class.boost::unit_test::basic_cstring"* byval align 4 %agg.tmp318, i32 549, %"class.boost::unit_test::basic_cstring"* byval align 4 %agg.tmp321)
          to label %invoke.cont323 unwind label %lpad319

invoke.cont323:                                   ; preds = %invoke.cont322
  %call327 = invoke %"class.boost::unit_test::lazy_ostream"* @_ZN5boost9unit_test12lazy_ostream8instanceEv()
          to label %invoke.cont326 unwind label %lpad319

invoke.cont326:                                   ; preds = %invoke.cont323
  invoke void @_ZN5boost9unit_testlsIA1_cEENS0_17lazy_ostream_implIRKT_EERKNS0_12lazy_ostreamES6_(%"class.boost::unit_test::lazy_ostream_impl"* sret %ref.tmp325, %"class.boost::unit_test::lazy_ostream"* %call327, [1 x i8]* @.str3)
          to label %invoke.cont328 unwind label %lpad319

invoke.cont328:                                   ; preds = %invoke.cont326
  %77 = bitcast %"class.boost::unit_test::lazy_ostream_impl"* %ref.tmp325 to %"class.boost::unit_test::lazy_ostream"*
  invoke void @_ZN5boost9unit_test13basic_cstringIKcEC1EPS2_j(%"class.boost::unit_test::basic_cstring"* %agg.tmp329, i8* getelementptr inbounds ([24 x i8]* @.str, i32 0, i32 0), i32 23)
          to label %invoke.cont331 unwind label %lpad330

invoke.cont331:                                   ; preds = %invoke.cont328
  %call333 = invoke i32 @_ZStorSt13_Ios_FmtflagsS_(i32 4096, i32 2)
          to label %invoke.cont332 unwind label %lpad330

invoke.cont332:                                   ; preds = %invoke.cont331
  store i32 %call333, i32* %ref.tmp334, align 4
  %78 = bitcast %"class.std::basic_iostream"* %ss to i8**
  %vtable335 = load i8** %78
  %vbase.offset.ptr336 = getelementptr i8* %vtable335, i64 -12
  %79 = bitcast i8* %vbase.offset.ptr336 to i32*
  %vbase.offset337 = load i32* %79
  %80 = bitcast %"class.std::basic_iostream"* %ss to i8*
  %add.ptr338 = getelementptr inbounds i8* %80, i32 %vbase.offset337
  %81 = bitcast i8* %add.ptr338 to %"class.std::ios_base"*
  %call340 = invoke i32 @_ZNKSt8ios_base5flagsEv(%"class.std::ios_base"* %81)
          to label %invoke.cont339 unwind label %lpad330

invoke.cont339:                                   ; preds = %invoke.cont332
  store i32 %call340, i32* %ref.tmp341, align 4
  %call343 = invoke zeroext i1 @_ZN5boost10test_tools9tt_detail10check_frwdINS1_15equal_impl_frwdESt13_Ios_FmtflagsS4_EEbT_RKNS_9unit_test12lazy_ostreamENS6_13basic_cstringIKcEEjNS1_10tool_levelENS1_10check_typeERKT0_PSB_RKT1_SI_(%"class.boost::unit_test::lazy_ostream"* %77, %"class.boost::unit_test::basic_cstring"* byval align 4 %agg.tmp329, i32 549, i32 1, i32 2, i32* %ref.tmp334, i8* getelementptr inbounds ([35 x i8]* @.str4, i32 0, i32 0), i32* %ref.tmp341, i8* getelementptr inbounds ([11 x i8]* @.str5, i32 0, i32 0))
          to label %invoke.cont342 unwind label %lpad330

invoke.cont342:                                   ; preds = %invoke.cont339
  invoke void @_ZN5boost9unit_test17lazy_ostream_implIRA1_KcED1Ev(%"class.boost::unit_test::lazy_ostream_impl"* %ref.tmp325)
          to label %invoke.cont344 unwind label %lpad319

invoke.cont344:                                   ; preds = %invoke.cont342
  br label %do.cond347

do.cond347:                                       ; preds = %invoke.cont344
  %82 = load i8* @_ZN5boost10test_tools12_GLOBAL__N_110dummy_condE, align 1
  %tobool348 = trunc i8 %82 to i1
  br i1 %tobool348, label %do.body317, label %do.end349

do.end349:                                        ; preds = %do.cond347
  br label %do.body350

do.body350:                                       ; preds = %do.cond377, %do.end349
  %83 = load %"class.boost::unit_test::unit_test_log_t"** @_ZN5boost9unit_test12_GLOBAL__N_113unit_test_logE, align 4
  invoke void @_ZN5boost9unit_test13basic_cstringIKcEC1EPS2_j(%"class.boost::unit_test::basic_cstring"* %agg.tmp351, i8* getelementptr inbounds ([24 x i8]* @.str, i32 0, i32 0), i32 23)
          to label %invoke.cont352 unwind label %lpad319

invoke.cont352:                                   ; preds = %do.body350
  invoke void @_ZN5boost9unit_test13basic_cstringIKcEC1Ev(%"class.boost::unit_test::basic_cstring"* %agg.tmp353)
          to label %invoke.cont354 unwind label %lpad319

invoke.cont354:                                   ; preds = %invoke.cont352
  invoke void @_ZN5boost9unit_test15unit_test_log_t14set_checkpointENS0_13basic_cstringIKcEEjS4_(%"class.boost::unit_test::unit_test_log_t"* %83, %"class.boost::unit_test::basic_cstring"* byval align 4 %agg.tmp351, i32 550, %"class.boost::unit_test::basic_cstring"* byval align 4 %agg.tmp353)
          to label %invoke.cont355 unwind label %lpad319

invoke.cont355:                                   ; preds = %invoke.cont354
  %call359 = invoke %"class.boost::unit_test::lazy_ostream"* @_ZN5boost9unit_test12lazy_ostream8instanceEv()
          to label %invoke.cont358 unwind label %lpad319

invoke.cont358:                                   ; preds = %invoke.cont355
  invoke void @_ZN5boost9unit_testlsIA1_cEENS0_17lazy_ostream_implIRKT_EERKNS0_12lazy_ostreamES6_(%"class.boost::unit_test::lazy_ostream_impl"* sret %ref.tmp357, %"class.boost::unit_test::lazy_ostream"* %call359, [1 x i8]* @.str3)
          to label %invoke.cont360 unwind label %lpad319

invoke.cont360:                                   ; preds = %invoke.cont358
  %84 = bitcast %"class.boost::unit_test::lazy_ostream_impl"* %ref.tmp357 to %"class.boost::unit_test::lazy_ostream"*
  invoke void @_ZN5boost9unit_test13basic_cstringIKcEC1EPS2_j(%"class.boost::unit_test::basic_cstring"* %agg.tmp361, i8* getelementptr inbounds ([24 x i8]* @.str, i32 0, i32 0), i32 23)
          to label %invoke.cont363 unwind label %lpad362

invoke.cont363:                                   ; preds = %invoke.cont360
  store i32 6, i32* %ref.tmp364, align 4
  %85 = bitcast %"class.std::basic_iostream"* %ss to i8**
  %vtable365 = load i8** %85
  %vbase.offset.ptr366 = getelementptr i8* %vtable365, i64 -12
  %86 = bitcast i8* %vbase.offset.ptr366 to i32*
  %vbase.offset367 = load i32* %86
  %87 = bitcast %"class.std::basic_iostream"* %ss to i8*
  %add.ptr368 = getelementptr inbounds i8* %87, i32 %vbase.offset367
  %88 = bitcast i8* %add.ptr368 to %"class.std::ios_base"*
  %call370 = invoke i32 @_ZNKSt8ios_base9precisionEv(%"class.std::ios_base"* %88)
          to label %invoke.cont369 unwind label %lpad362

invoke.cont369:                                   ; preds = %invoke.cont363
  store i32 %call370, i32* %ref.tmp371, align 4
  %call373 = invoke zeroext i1 @_ZN5boost10test_tools9tt_detail10check_frwdINS1_15equal_impl_frwdEiiEEbT_RKNS_9unit_test12lazy_ostreamENS5_13basic_cstringIKcEEjNS1_10tool_levelENS1_10check_typeERKT0_PSA_RKT1_SH_(%"class.boost::unit_test::lazy_ostream"* %84, %"class.boost::unit_test::basic_cstring"* byval align 4 %agg.tmp361, i32 550, i32 1, i32 2, i32* %ref.tmp364, i8* getelementptr inbounds ([2 x i8]* @.str9, i32 0, i32 0), i32* %ref.tmp371, i8* getelementptr inbounds ([15 x i8]* @.str10, i32 0, i32 0))
          to label %invoke.cont372 unwind label %lpad362

invoke.cont372:                                   ; preds = %invoke.cont369
  invoke void @_ZN5boost9unit_test17lazy_ostream_implIRA1_KcED1Ev(%"class.boost::unit_test::lazy_ostream_impl"* %ref.tmp357)
          to label %invoke.cont374 unwind label %lpad319

invoke.cont374:                                   ; preds = %invoke.cont372
  br label %do.cond377

do.cond377:                                       ; preds = %invoke.cont374
  %89 = load i8* @_ZN5boost10test_tools12_GLOBAL__N_110dummy_condE, align 1
  %tobool378 = trunc i8 %89 to i1
  br i1 %tobool378, label %do.body350, label %do.end379

do.end379:                                        ; preds = %do.cond377
  br label %do.body380

do.body380:                                       ; preds = %do.cond407, %do.end379
  %90 = load %"class.boost::unit_test::unit_test_log_t"** @_ZN5boost9unit_test12_GLOBAL__N_113unit_test_logE, align 4
  invoke void @_ZN5boost9unit_test13basic_cstringIKcEC1EPS2_j(%"class.boost::unit_test::basic_cstring"* %agg.tmp381, i8* getelementptr inbounds ([24 x i8]* @.str, i32 0, i32 0), i32 23)
          to label %invoke.cont382 unwind label %lpad319

invoke.cont382:                                   ; preds = %do.body380
  invoke void @_ZN5boost9unit_test13basic_cstringIKcEC1Ev(%"class.boost::unit_test::basic_cstring"* %agg.tmp383)
          to label %invoke.cont384 unwind label %lpad319

invoke.cont384:                                   ; preds = %invoke.cont382
  invoke void @_ZN5boost9unit_test15unit_test_log_t14set_checkpointENS0_13basic_cstringIKcEEjS4_(%"class.boost::unit_test::unit_test_log_t"* %90, %"class.boost::unit_test::basic_cstring"* byval align 4 %agg.tmp381, i32 551, %"class.boost::unit_test::basic_cstring"* byval align 4 %agg.tmp383)
          to label %invoke.cont385 unwind label %lpad319

invoke.cont385:                                   ; preds = %invoke.cont384
  %call389 = invoke %"class.boost::unit_test::lazy_ostream"* @_ZN5boost9unit_test12lazy_ostream8instanceEv()
          to label %invoke.cont388 unwind label %lpad319

invoke.cont388:                                   ; preds = %invoke.cont385
  invoke void @_ZN5boost9unit_testlsIA1_cEENS0_17lazy_ostream_implIRKT_EERKNS0_12lazy_ostreamES6_(%"class.boost::unit_test::lazy_ostream_impl"* sret %ref.tmp387, %"class.boost::unit_test::lazy_ostream"* %call389, [1 x i8]* @.str3)
          to label %invoke.cont390 unwind label %lpad319

invoke.cont390:                                   ; preds = %invoke.cont388
  %91 = bitcast %"class.boost::unit_test::lazy_ostream_impl"* %ref.tmp387 to %"class.boost::unit_test::lazy_ostream"*
  invoke void @_ZN5boost9unit_test13basic_cstringIKcEC1EPS2_j(%"class.boost::unit_test::basic_cstring"* %agg.tmp391, i8* getelementptr inbounds ([24 x i8]* @.str, i32 0, i32 0), i32 23)
          to label %invoke.cont393 unwind label %lpad392

invoke.cont393:                                   ; preds = %invoke.cont390
  store i32 0, i32* %ref.tmp394, align 4
  %92 = bitcast %"class.std::basic_iostream"* %ss to i8**
  %vtable395 = load i8** %92
  %vbase.offset.ptr396 = getelementptr i8* %vtable395, i64 -12
  %93 = bitcast i8* %vbase.offset.ptr396 to i32*
  %vbase.offset397 = load i32* %93
  %94 = bitcast %"class.std::basic_iostream"* %ss to i8*
  %add.ptr398 = getelementptr inbounds i8* %94, i32 %vbase.offset397
  %95 = bitcast i8* %add.ptr398 to %"class.std::ios_base"*
  %call400 = invoke i32 @_ZNKSt8ios_base5widthEv(%"class.std::ios_base"* %95)
          to label %invoke.cont399 unwind label %lpad392

invoke.cont399:                                   ; preds = %invoke.cont393
  store i32 %call400, i32* %ref.tmp401, align 4
  %call403 = invoke zeroext i1 @_ZN5boost10test_tools9tt_detail10check_frwdINS1_15equal_impl_frwdEiiEEbT_RKNS_9unit_test12lazy_ostreamENS5_13basic_cstringIKcEEjNS1_10tool_levelENS1_10check_typeERKT0_PSA_RKT1_SH_(%"class.boost::unit_test::lazy_ostream"* %91, %"class.boost::unit_test::basic_cstring"* byval align 4 %agg.tmp391, i32 551, i32 1, i32 2, i32* %ref.tmp394, i8* getelementptr inbounds ([2 x i8]* @.str14, i32 0, i32 0), i32* %ref.tmp401, i8* getelementptr inbounds ([11 x i8]* @.str15, i32 0, i32 0))
          to label %invoke.cont402 unwind label %lpad392

invoke.cont402:                                   ; preds = %invoke.cont399
  invoke void @_ZN5boost9unit_test17lazy_ostream_implIRA1_KcED1Ev(%"class.boost::unit_test::lazy_ostream_impl"* %ref.tmp387)
          to label %invoke.cont404 unwind label %lpad319

invoke.cont404:                                   ; preds = %invoke.cont402
  br label %do.cond407

do.cond407:                                       ; preds = %invoke.cont404
  %96 = load i8* @_ZN5boost10test_tools12_GLOBAL__N_110dummy_condE, align 1
  %tobool408 = trunc i8 %96 to i1
  br i1 %tobool408, label %do.body380, label %do.end409

do.end409:                                        ; preds = %do.cond407
  br label %do.body410

do.body410:                                       ; preds = %do.cond436, %do.end409
  %97 = load %"class.boost::unit_test::unit_test_log_t"** @_ZN5boost9unit_test12_GLOBAL__N_113unit_test_logE, align 4
  invoke void @_ZN5boost9unit_test13basic_cstringIKcEC1EPS2_j(%"class.boost::unit_test::basic_cstring"* %agg.tmp411, i8* getelementptr inbounds ([24 x i8]* @.str, i32 0, i32 0), i32 23)
          to label %invoke.cont412 unwind label %lpad319

invoke.cont412:                                   ; preds = %do.body410
  invoke void @_ZN5boost9unit_test13basic_cstringIKcEC1Ev(%"class.boost::unit_test::basic_cstring"* %agg.tmp413)
          to label %invoke.cont414 unwind label %lpad319

invoke.cont414:                                   ; preds = %invoke.cont412
  invoke void @_ZN5boost9unit_test15unit_test_log_t14set_checkpointENS0_13basic_cstringIKcEEjS4_(%"class.boost::unit_test::unit_test_log_t"* %97, %"class.boost::unit_test::basic_cstring"* byval align 4 %agg.tmp411, i32 552, %"class.boost::unit_test::basic_cstring"* byval align 4 %agg.tmp413)
          to label %invoke.cont415 unwind label %lpad319

invoke.cont415:                                   ; preds = %invoke.cont414
  %call419 = invoke %"class.boost::unit_test::lazy_ostream"* @_ZN5boost9unit_test12lazy_ostream8instanceEv()
          to label %invoke.cont418 unwind label %lpad319

invoke.cont418:                                   ; preds = %invoke.cont415
  invoke void @_ZN5boost9unit_testlsIA1_cEENS0_17lazy_ostream_implIRKT_EERKNS0_12lazy_ostreamES6_(%"class.boost::unit_test::lazy_ostream_impl"* sret %ref.tmp417, %"class.boost::unit_test::lazy_ostream"* %call419, [1 x i8]* @.str3)
          to label %invoke.cont420 unwind label %lpad319

invoke.cont420:                                   ; preds = %invoke.cont418
  %98 = bitcast %"class.boost::unit_test::lazy_ostream_impl"* %ref.tmp417 to %"class.boost::unit_test::lazy_ostream"*
  invoke void @_ZN5boost9unit_test13basic_cstringIKcEC1EPS2_j(%"class.boost::unit_test::basic_cstring"* %agg.tmp421, i8* getelementptr inbounds ([24 x i8]* @.str, i32 0, i32 0), i32 23)
          to label %invoke.cont423 unwind label %lpad422

invoke.cont423:                                   ; preds = %invoke.cont420
  %99 = bitcast %"class.std::basic_iostream"* %ss to i8**
  %vtable424 = load i8** %99
  %vbase.offset.ptr425 = getelementptr i8* %vtable424, i64 -12
  %100 = bitcast i8* %vbase.offset.ptr425 to i32*
  %vbase.offset426 = load i32* %100
  %101 = bitcast %"class.std::basic_iostream"* %ss to i8*
  %add.ptr427 = getelementptr inbounds i8* %101, i32 %vbase.offset426
  %102 = bitcast i8* %add.ptr427 to %"class.std::basic_ios"*
  %call429 = invoke i32 @_ZNKSt9basic_iosIcSt11char_traitsIcEE7rdstateEv(%"class.std::basic_ios"* %102)
          to label %invoke.cont428 unwind label %lpad422

invoke.cont428:                                   ; preds = %invoke.cont423
  store i32 %call429, i32* %ref.tmp430, align 4
  %call432 = invoke zeroext i1 @_ZN5boost10test_tools9tt_detail10check_frwdINS1_15equal_impl_frwdESt12_Ios_IostateS4_EEbT_RKNS_9unit_test12lazy_ostreamENS6_13basic_cstringIKcEEjNS1_10tool_levelENS1_10check_typeERKT0_PSB_RKT1_SI_(%"class.boost::unit_test::lazy_ostream"* %98, %"class.boost::unit_test::basic_cstring"* byval align 4 %agg.tmp421, i32 552, i32 1, i32 2, i32* @_ZNSt8ios_base7goodbitE, i8* getelementptr inbounds ([18 x i8]* @.str16, i32 0, i32 0), i32* %ref.tmp430, i8* getelementptr inbounds ([13 x i8]* @.str17, i32 0, i32 0))
          to label %invoke.cont431 unwind label %lpad422

invoke.cont431:                                   ; preds = %invoke.cont428
  invoke void @_ZN5boost9unit_test17lazy_ostream_implIRA1_KcED1Ev(%"class.boost::unit_test::lazy_ostream_impl"* %ref.tmp417)
          to label %invoke.cont433 unwind label %lpad319

invoke.cont433:                                   ; preds = %invoke.cont431
  br label %do.cond436

do.cond436:                                       ; preds = %invoke.cont433
  %103 = load i8* @_ZN5boost10test_tools12_GLOBAL__N_110dummy_condE, align 1
  %tobool437 = trunc i8 %103 to i1
  br i1 %tobool437, label %do.body410, label %do.end438

do.end438:                                        ; preds = %do.cond436
  br label %do.body439

do.body439:                                       ; preds = %do.cond471, %do.end438
  %104 = load %"class.boost::unit_test::unit_test_log_t"** @_ZN5boost9unit_test12_GLOBAL__N_113unit_test_logE, align 4
  invoke void @_ZN5boost9unit_test13basic_cstringIKcEC1EPS2_j(%"class.boost::unit_test::basic_cstring"* %agg.tmp440, i8* getelementptr inbounds ([24 x i8]* @.str, i32 0, i32 0), i32 23)
          to label %invoke.cont441 unwind label %lpad319

invoke.cont441:                                   ; preds = %do.body439
  invoke void @_ZN5boost9unit_test13basic_cstringIKcEC1Ev(%"class.boost::unit_test::basic_cstring"* %agg.tmp442)
          to label %invoke.cont443 unwind label %lpad319

invoke.cont443:                                   ; preds = %invoke.cont441
  invoke void @_ZN5boost9unit_test15unit_test_log_t14set_checkpointENS0_13basic_cstringIKcEEjS4_(%"class.boost::unit_test::unit_test_log_t"* %104, %"class.boost::unit_test::basic_cstring"* byval align 4 %agg.tmp440, i32 553, %"class.boost::unit_test::basic_cstring"* byval align 4 %agg.tmp442)
          to label %invoke.cont444 unwind label %lpad319

invoke.cont444:                                   ; preds = %invoke.cont443
  %105 = bitcast %"class.std::basic_iostream"* %ss to i8**
  %vtable446 = load i8** %105
  %vbase.offset.ptr447 = getelementptr i8* %vtable446, i64 -12
  %106 = bitcast i8* %vbase.offset.ptr447 to i32*
  %vbase.offset448 = load i32* %106
  %107 = bitcast %"class.std::basic_iostream"* %ss to i8*
  %add.ptr449 = getelementptr inbounds i8* %107, i32 %vbase.offset448
  %108 = bitcast i8* %add.ptr449 to %"class.std::basic_ios"*
  %call451 = invoke zeroext i1 @_ZNKSt9basic_iosIcSt11char_traitsIcEE4goodEv(%"class.std::basic_ios"* %108)
          to label %invoke.cont450 unwind label %lpad319

invoke.cont450:                                   ; preds = %invoke.cont444
  invoke void @_ZN5boost10test_tools16predicate_resultC1Eb(%"class.boost::test_tools::predicate_result"* %ref.tmp445, i1 zeroext %call451)
          to label %invoke.cont452 unwind label %lpad319

invoke.cont452:                                   ; preds = %invoke.cont450
  %call456 = invoke %"class.boost::unit_test::lazy_ostream"* @_ZN5boost9unit_test12lazy_ostream8instanceEv()
          to label %invoke.cont455 unwind label %lpad454

invoke.cont455:                                   ; preds = %invoke.cont452
  invoke void @_ZN5boost9unit_test13basic_cstringIKcEC1EPS2_j(%"class.boost::unit_test::basic_cstring"* %ref.tmp457, i8* getelementptr inbounds ([10 x i8]* @.str18, i32 0, i32 0), i32 9)
          to label %invoke.cont458 unwind label %lpad454

invoke.cont458:                                   ; preds = %invoke.cont455
  invoke void @_ZN5boost9unit_testlsINS0_13basic_cstringIKcEEEENS0_17lazy_ostream_implIRKT_EERKNS0_12lazy_ostreamES8_(%"class.boost::unit_test::lazy_ostream_impl.0"* sret %ref.tmp453, %"class.boost::unit_test::lazy_ostream"* %call456, %"class.boost::unit_test::basic_cstring"* %ref.tmp457)
          to label %invoke.cont459 unwind label %lpad454

invoke.cont459:                                   ; preds = %invoke.cont458
  %109 = bitcast %"class.boost::unit_test::lazy_ostream_impl.0"* %ref.tmp453 to %"class.boost::unit_test::lazy_ostream"*
  invoke void @_ZN5boost9unit_test13basic_cstringIKcEC1EPS2_j(%"class.boost::unit_test::basic_cstring"* %agg.tmp460, i8* getelementptr inbounds ([24 x i8]* @.str, i32 0, i32 0), i32 23)
          to label %invoke.cont462 unwind label %lpad461

invoke.cont462:                                   ; preds = %invoke.cont459
  %call464 = invoke zeroext i1 (%"class.boost::test_tools::predicate_result"*, %"class.boost::unit_test::lazy_ostream"*, %"class.boost::unit_test::basic_cstring"*, i32, i32, i32, i32, ...)* @_ZN5boost10test_tools9tt_detail10check_implERKNS0_16predicate_resultERKNS_9unit_test12lazy_ostreamENS5_13basic_cstringIKcEEjNS1_10tool_levelENS1_10check_typeEjz(%"class.boost::test_tools::predicate_result"* %ref.tmp445, %"class.boost::unit_test::lazy_ostream"* %109, %"class.boost::unit_test::basic_cstring"* byval align 4 %agg.tmp460, i32 553, i32 1, i32 0, i32 0)
          to label %invoke.cont463 unwind label %lpad461

invoke.cont463:                                   ; preds = %invoke.cont462
  invoke void @_ZN5boost9unit_test17lazy_ostream_implIRKNS0_13basic_cstringIKcEEED1Ev(%"class.boost::unit_test::lazy_ostream_impl.0"* %ref.tmp453)
          to label %invoke.cont465 unwind label %lpad454

invoke.cont465:                                   ; preds = %invoke.cont463
  invoke void @_ZN5boost10test_tools16predicate_resultD1Ev(%"class.boost::test_tools::predicate_result"* %ref.tmp445)
          to label %invoke.cont468 unwind label %lpad319

invoke.cont468:                                   ; preds = %invoke.cont465
  br label %do.cond471

do.cond471:                                       ; preds = %invoke.cont468
  %110 = load i8* @_ZN5boost10test_tools12_GLOBAL__N_110dummy_condE, align 1
  %tobool472 = trunc i8 %110 to i1
  br i1 %tobool472, label %do.body439, label %do.end473

do.end473:                                        ; preds = %do.cond471
  br label %do.body474

do.body474:                                       ; preds = %do.cond500, %do.end473
  %111 = load %"class.boost::unit_test::unit_test_log_t"** @_ZN5boost9unit_test12_GLOBAL__N_113unit_test_logE, align 4
  invoke void @_ZN5boost9unit_test13basic_cstringIKcEC1EPS2_j(%"class.boost::unit_test::basic_cstring"* %agg.tmp475, i8* getelementptr inbounds ([24 x i8]* @.str, i32 0, i32 0), i32 23)
          to label %invoke.cont476 unwind label %lpad319

invoke.cont476:                                   ; preds = %do.body474
  invoke void @_ZN5boost9unit_test13basic_cstringIKcEC1Ev(%"class.boost::unit_test::basic_cstring"* %agg.tmp477)
          to label %invoke.cont478 unwind label %lpad319

invoke.cont478:                                   ; preds = %invoke.cont476
  invoke void @_ZN5boost9unit_test15unit_test_log_t14set_checkpointENS0_13basic_cstringIKcEEjS4_(%"class.boost::unit_test::unit_test_log_t"* %111, %"class.boost::unit_test::basic_cstring"* byval align 4 %agg.tmp475, i32 554, %"class.boost::unit_test::basic_cstring"* byval align 4 %agg.tmp477)
          to label %invoke.cont479 unwind label %lpad319

invoke.cont479:                                   ; preds = %invoke.cont478
  %call483 = invoke %"class.boost::unit_test::lazy_ostream"* @_ZN5boost9unit_test12lazy_ostream8instanceEv()
          to label %invoke.cont482 unwind label %lpad319

invoke.cont482:                                   ; preds = %invoke.cont479
  invoke void @_ZN5boost9unit_testlsIA1_cEENS0_17lazy_ostream_implIRKT_EERKNS0_12lazy_ostreamES6_(%"class.boost::unit_test::lazy_ostream_impl"* sret %ref.tmp481, %"class.boost::unit_test::lazy_ostream"* %call483, [1 x i8]* @.str3)
          to label %invoke.cont484 unwind label %lpad319

invoke.cont484:                                   ; preds = %invoke.cont482
  %112 = bitcast %"class.boost::unit_test::lazy_ostream_impl"* %ref.tmp481 to %"class.boost::unit_test::lazy_ostream"*
  invoke void @_ZN5boost9unit_test13basic_cstringIKcEC1EPS2_j(%"class.boost::unit_test::basic_cstring"* %agg.tmp485, i8* getelementptr inbounds ([24 x i8]* @.str, i32 0, i32 0), i32 23)
          to label %invoke.cont487 unwind label %lpad486

invoke.cont487:                                   ; preds = %invoke.cont484
  %113 = bitcast %"class.std::basic_iostream"* %ss to i8**
  %vtable488 = load i8** %113
  %vbase.offset.ptr489 = getelementptr i8* %vtable488, i64 -12
  %114 = bitcast i8* %vbase.offset.ptr489 to i32*
  %vbase.offset490 = load i32* %114
  %115 = bitcast %"class.std::basic_iostream"* %ss to i8*
  %add.ptr491 = getelementptr inbounds i8* %115, i32 %vbase.offset490
  %116 = bitcast i8* %add.ptr491 to %"class.std::basic_ios"*
  %call493 = invoke i32 @_ZNKSt9basic_iosIcSt11char_traitsIcEE10exceptionsEv(%"class.std::basic_ios"* %116)
          to label %invoke.cont492 unwind label %lpad486

invoke.cont492:                                   ; preds = %invoke.cont487
  store i32 %call493, i32* %ref.tmp494, align 4
  %call496 = invoke zeroext i1 @_ZN5boost10test_tools9tt_detail10check_frwdINS1_15equal_impl_frwdESt12_Ios_IostateS4_EEbT_RKNS_9unit_test12lazy_ostreamENS6_13basic_cstringIKcEEjNS1_10tool_levelENS1_10check_typeERKT0_PSB_RKT1_SI_(%"class.boost::unit_test::lazy_ostream"* %112, %"class.boost::unit_test::basic_cstring"* byval align 4 %agg.tmp485, i32 554, i32 1, i32 2, i32* @_ZNSt8ios_base7goodbitE, i8* getelementptr inbounds ([18 x i8]* @.str16, i32 0, i32 0), i32* %ref.tmp494, i8* getelementptr inbounds ([16 x i8]* @.str26, i32 0, i32 0))
          to label %invoke.cont495 unwind label %lpad486

invoke.cont495:                                   ; preds = %invoke.cont492
  invoke void @_ZN5boost9unit_test17lazy_ostream_implIRA1_KcED1Ev(%"class.boost::unit_test::lazy_ostream_impl"* %ref.tmp481)
          to label %invoke.cont497 unwind label %lpad319

invoke.cont497:                                   ; preds = %invoke.cont495
  br label %do.cond500

do.cond500:                                       ; preds = %invoke.cont497
  %117 = load i8* @_ZN5boost10test_tools12_GLOBAL__N_110dummy_condE, align 1
  %tobool501 = trunc i8 %117 to i1
  br i1 %tobool501, label %do.body474, label %do.end502

do.end502:                                        ; preds = %do.cond500
  br label %do.body503

do.body503:                                       ; preds = %do.cond536, %do.end502
  %118 = load %"class.boost::unit_test::unit_test_log_t"** @_ZN5boost9unit_test12_GLOBAL__N_113unit_test_logE, align 4
  invoke void @_ZN5boost9unit_test13basic_cstringIKcEC1EPS2_j(%"class.boost::unit_test::basic_cstring"* %agg.tmp504, i8* getelementptr inbounds ([24 x i8]* @.str, i32 0, i32 0), i32 23)
          to label %invoke.cont505 unwind label %lpad319

invoke.cont505:                                   ; preds = %do.body503
  invoke void @_ZN5boost9unit_test13basic_cstringIKcEC1Ev(%"class.boost::unit_test::basic_cstring"* %agg.tmp506)
          to label %invoke.cont507 unwind label %lpad319

invoke.cont507:                                   ; preds = %invoke.cont505
  invoke void @_ZN5boost9unit_test15unit_test_log_t14set_checkpointENS0_13basic_cstringIKcEEjS4_(%"class.boost::unit_test::unit_test_log_t"* %118, %"class.boost::unit_test::basic_cstring"* byval align 4 %agg.tmp504, i32 555, %"class.boost::unit_test::basic_cstring"* byval align 4 %agg.tmp506)
          to label %invoke.cont508 unwind label %lpad319

invoke.cont508:                                   ; preds = %invoke.cont507
  %119 = bitcast %"class.std::basic_iostream"* %ss to i8**
  %vtable510 = load i8** %119
  %vbase.offset.ptr511 = getelementptr i8* %vtable510, i64 -12
  %120 = bitcast i8* %vbase.offset.ptr511 to i32*
  %vbase.offset512 = load i32* %120
  %121 = bitcast %"class.std::basic_iostream"* %ss to i8*
  %add.ptr513 = getelementptr inbounds i8* %121, i32 %vbase.offset512
  %122 = bitcast i8* %add.ptr513 to %"class.std::basic_ios"*
  %call515 = invoke %"class.std::basic_ostream"* @_ZNKSt9basic_iosIcSt11char_traitsIcEE3tieEv(%"class.std::basic_ios"* %122)
          to label %invoke.cont514 unwind label %lpad319

invoke.cont514:                                   ; preds = %invoke.cont508
  %cmp516 = icmp eq %"class.std::basic_ostream"* null, %call515
  invoke void @_ZN5boost10test_tools16predicate_resultC1Eb(%"class.boost::test_tools::predicate_result"* %ref.tmp509, i1 zeroext %cmp516)
          to label %invoke.cont517 unwind label %lpad319

invoke.cont517:                                   ; preds = %invoke.cont514
  %call521 = invoke %"class.boost::unit_test::lazy_ostream"* @_ZN5boost9unit_test12lazy_ostream8instanceEv()
          to label %invoke.cont520 unwind label %lpad519

invoke.cont520:                                   ; preds = %invoke.cont517
  invoke void @_ZN5boost9unit_test13basic_cstringIKcEC1EPS2_j(%"class.boost::unit_test::basic_cstring"* %ref.tmp522, i8* getelementptr inbounds ([19 x i8]* @.str63, i32 0, i32 0), i32 18)
          to label %invoke.cont523 unwind label %lpad519

invoke.cont523:                                   ; preds = %invoke.cont520
  invoke void @_ZN5boost9unit_testlsINS0_13basic_cstringIKcEEEENS0_17lazy_ostream_implIRKT_EERKNS0_12lazy_ostreamES8_(%"class.boost::unit_test::lazy_ostream_impl.0"* sret %ref.tmp518, %"class.boost::unit_test::lazy_ostream"* %call521, %"class.boost::unit_test::basic_cstring"* %ref.tmp522)
          to label %invoke.cont524 unwind label %lpad519

invoke.cont524:                                   ; preds = %invoke.cont523
  %123 = bitcast %"class.boost::unit_test::lazy_ostream_impl.0"* %ref.tmp518 to %"class.boost::unit_test::lazy_ostream"*
  invoke void @_ZN5boost9unit_test13basic_cstringIKcEC1EPS2_j(%"class.boost::unit_test::basic_cstring"* %agg.tmp525, i8* getelementptr inbounds ([24 x i8]* @.str, i32 0, i32 0), i32 23)
          to label %invoke.cont527 unwind label %lpad526

invoke.cont527:                                   ; preds = %invoke.cont524
  %call529 = invoke zeroext i1 (%"class.boost::test_tools::predicate_result"*, %"class.boost::unit_test::lazy_ostream"*, %"class.boost::unit_test::basic_cstring"*, i32, i32, i32, i32, ...)* @_ZN5boost10test_tools9tt_detail10check_implERKNS0_16predicate_resultERKNS_9unit_test12lazy_ostreamENS5_13basic_cstringIKcEEjNS1_10tool_levelENS1_10check_typeEjz(%"class.boost::test_tools::predicate_result"* %ref.tmp509, %"class.boost::unit_test::lazy_ostream"* %123, %"class.boost::unit_test::basic_cstring"* byval align 4 %agg.tmp525, i32 555, i32 1, i32 0, i32 0)
          to label %invoke.cont528 unwind label %lpad526

invoke.cont528:                                   ; preds = %invoke.cont527
  invoke void @_ZN5boost9unit_test17lazy_ostream_implIRKNS0_13basic_cstringIKcEEED1Ev(%"class.boost::unit_test::lazy_ostream_impl.0"* %ref.tmp518)
          to label %invoke.cont530 unwind label %lpad519

invoke.cont530:                                   ; preds = %invoke.cont528
  invoke void @_ZN5boost10test_tools16predicate_resultD1Ev(%"class.boost::test_tools::predicate_result"* %ref.tmp509)
          to label %invoke.cont533 unwind label %lpad319

invoke.cont533:                                   ; preds = %invoke.cont530
  br label %do.cond536

do.cond536:                                       ; preds = %invoke.cont533
  %124 = load i8* @_ZN5boost10test_tools12_GLOBAL__N_110dummy_condE, align 1
  %tobool537 = trunc i8 %124 to i1
  br i1 %tobool537, label %do.body503, label %do.end538

do.end538:                                        ; preds = %do.cond536
  br label %do.body539

do.body539:                                       ; preds = %do.cond572, %do.end538
  %125 = load %"class.boost::unit_test::unit_test_log_t"** @_ZN5boost9unit_test12_GLOBAL__N_113unit_test_logE, align 4
  invoke void @_ZN5boost9unit_test13basic_cstringIKcEC1EPS2_j(%"class.boost::unit_test::basic_cstring"* %agg.tmp540, i8* getelementptr inbounds ([24 x i8]* @.str, i32 0, i32 0), i32 23)
          to label %invoke.cont541 unwind label %lpad319

invoke.cont541:                                   ; preds = %do.body539
  invoke void @_ZN5boost9unit_test13basic_cstringIKcEC1Ev(%"class.boost::unit_test::basic_cstring"* %agg.tmp542)
          to label %invoke.cont543 unwind label %lpad319

invoke.cont543:                                   ; preds = %invoke.cont541
  invoke void @_ZN5boost9unit_test15unit_test_log_t14set_checkpointENS0_13basic_cstringIKcEEjS4_(%"class.boost::unit_test::unit_test_log_t"* %125, %"class.boost::unit_test::basic_cstring"* byval align 4 %agg.tmp540, i32 556, %"class.boost::unit_test::basic_cstring"* byval align 4 %agg.tmp542)
          to label %invoke.cont544 unwind label %lpad319

invoke.cont544:                                   ; preds = %invoke.cont543
  %126 = bitcast %"class.std::basic_stringbuf"* %sb to %"class.std::basic_streambuf"*
  %127 = bitcast %"class.std::basic_iostream"* %ss to i8**
  %vtable546 = load i8** %127
  %vbase.offset.ptr547 = getelementptr i8* %vtable546, i64 -12
  %128 = bitcast i8* %vbase.offset.ptr547 to i32*
  %vbase.offset548 = load i32* %128
  %129 = bitcast %"class.std::basic_iostream"* %ss to i8*
  %add.ptr549 = getelementptr inbounds i8* %129, i32 %vbase.offset548
  %130 = bitcast i8* %add.ptr549 to %"class.std::basic_ios"*
  %call551 = invoke %"class.std::basic_streambuf"* @_ZNKSt9basic_iosIcSt11char_traitsIcEE5rdbufEv(%"class.std::basic_ios"* %130)
          to label %invoke.cont550 unwind label %lpad319

invoke.cont550:                                   ; preds = %invoke.cont544
  %cmp552 = icmp eq %"class.std::basic_streambuf"* %126, %call551
  invoke void @_ZN5boost10test_tools16predicate_resultC1Eb(%"class.boost::test_tools::predicate_result"* %ref.tmp545, i1 zeroext %cmp552)
          to label %invoke.cont553 unwind label %lpad319

invoke.cont553:                                   ; preds = %invoke.cont550
  %call557 = invoke %"class.boost::unit_test::lazy_ostream"* @_ZN5boost9unit_test12lazy_ostream8instanceEv()
          to label %invoke.cont556 unwind label %lpad555

invoke.cont556:                                   ; preds = %invoke.cont553
  invoke void @_ZN5boost9unit_test13basic_cstringIKcEC1EPS2_j(%"class.boost::unit_test::basic_cstring"* %ref.tmp558, i8* getelementptr inbounds ([18 x i8]* @.str64, i32 0, i32 0), i32 17)
          to label %invoke.cont559 unwind label %lpad555

invoke.cont559:                                   ; preds = %invoke.cont556
  invoke void @_ZN5boost9unit_testlsINS0_13basic_cstringIKcEEEENS0_17lazy_ostream_implIRKT_EERKNS0_12lazy_ostreamES8_(%"class.boost::unit_test::lazy_ostream_impl.0"* sret %ref.tmp554, %"class.boost::unit_test::lazy_ostream"* %call557, %"class.boost::unit_test::basic_cstring"* %ref.tmp558)
          to label %invoke.cont560 unwind label %lpad555

invoke.cont560:                                   ; preds = %invoke.cont559
  %131 = bitcast %"class.boost::unit_test::lazy_ostream_impl.0"* %ref.tmp554 to %"class.boost::unit_test::lazy_ostream"*
  invoke void @_ZN5boost9unit_test13basic_cstringIKcEC1EPS2_j(%"class.boost::unit_test::basic_cstring"* %agg.tmp561, i8* getelementptr inbounds ([24 x i8]* @.str, i32 0, i32 0), i32 23)
          to label %invoke.cont563 unwind label %lpad562

invoke.cont563:                                   ; preds = %invoke.cont560
  %call565 = invoke zeroext i1 (%"class.boost::test_tools::predicate_result"*, %"class.boost::unit_test::lazy_ostream"*, %"class.boost::unit_test::basic_cstring"*, i32, i32, i32, i32, ...)* @_ZN5boost10test_tools9tt_detail10check_implERKNS0_16predicate_resultERKNS_9unit_test12lazy_ostreamENS5_13basic_cstringIKcEEjNS1_10tool_levelENS1_10check_typeEjz(%"class.boost::test_tools::predicate_result"* %ref.tmp545, %"class.boost::unit_test::lazy_ostream"* %131, %"class.boost::unit_test::basic_cstring"* byval align 4 %agg.tmp561, i32 556, i32 1, i32 0, i32 0)
          to label %invoke.cont564 unwind label %lpad562

invoke.cont564:                                   ; preds = %invoke.cont563
  invoke void @_ZN5boost9unit_test17lazy_ostream_implIRKNS0_13basic_cstringIKcEEED1Ev(%"class.boost::unit_test::lazy_ostream_impl.0"* %ref.tmp554)
          to label %invoke.cont566 unwind label %lpad555

invoke.cont566:                                   ; preds = %invoke.cont564
  invoke void @_ZN5boost10test_tools16predicate_resultD1Ev(%"class.boost::test_tools::predicate_result"* %ref.tmp545)
          to label %invoke.cont569 unwind label %lpad319

invoke.cont569:                                   ; preds = %invoke.cont566
  br label %do.cond572

do.cond572:                                       ; preds = %invoke.cont569
  %132 = load i8* @_ZN5boost10test_tools12_GLOBAL__N_110dummy_condE, align 1
  %tobool573 = trunc i8 %132 to i1
  br i1 %tobool573, label %do.body539, label %do.end574

do.end574:                                        ; preds = %do.cond572
  br label %do.body575

do.body575:                                       ; preds = %do.cond602, %do.end574
  %133 = load %"class.boost::unit_test::unit_test_log_t"** @_ZN5boost9unit_test12_GLOBAL__N_113unit_test_logE, align 4
  invoke void @_ZN5boost9unit_test13basic_cstringIKcEC1EPS2_j(%"class.boost::unit_test::basic_cstring"* %agg.tmp576, i8* getelementptr inbounds ([24 x i8]* @.str, i32 0, i32 0), i32 23)
          to label %invoke.cont577 unwind label %lpad319

invoke.cont577:                                   ; preds = %do.body575
  invoke void @_ZN5boost9unit_test13basic_cstringIKcEC1Ev(%"class.boost::unit_test::basic_cstring"* %agg.tmp578)
          to label %invoke.cont579 unwind label %lpad319

invoke.cont579:                                   ; preds = %invoke.cont577
  invoke void @_ZN5boost9unit_test15unit_test_log_t14set_checkpointENS0_13basic_cstringIKcEEjS4_(%"class.boost::unit_test::unit_test_log_t"* %133, %"class.boost::unit_test::basic_cstring"* byval align 4 %agg.tmp576, i32 557, %"class.boost::unit_test::basic_cstring"* byval align 4 %agg.tmp578)
          to label %invoke.cont580 unwind label %lpad319

invoke.cont580:                                   ; preds = %invoke.cont579
  %call584 = invoke %"class.boost::unit_test::lazy_ostream"* @_ZN5boost9unit_test12lazy_ostream8instanceEv()
          to label %invoke.cont583 unwind label %lpad319

invoke.cont583:                                   ; preds = %invoke.cont580
  invoke void @_ZN5boost9unit_testlsIA1_cEENS0_17lazy_ostream_implIRKT_EERKNS0_12lazy_ostreamES6_(%"class.boost::unit_test::lazy_ostream_impl"* sret %ref.tmp582, %"class.boost::unit_test::lazy_ostream"* %call584, [1 x i8]* @.str3)
          to label %invoke.cont585 unwind label %lpad319

invoke.cont585:                                   ; preds = %invoke.cont583
  %134 = bitcast %"class.boost::unit_test::lazy_ostream_impl"* %ref.tmp582 to %"class.boost::unit_test::lazy_ostream"*
  invoke void @_ZN5boost9unit_test13basic_cstringIKcEC1EPS2_j(%"class.boost::unit_test::basic_cstring"* %agg.tmp586, i8* getelementptr inbounds ([24 x i8]* @.str, i32 0, i32 0), i32 23)
          to label %invoke.cont588 unwind label %lpad587

invoke.cont588:                                   ; preds = %invoke.cont585
  store i8 32, i8* %ref.tmp589, align 1
  %135 = bitcast %"class.std::basic_iostream"* %ss to i8**
  %vtable590 = load i8** %135
  %vbase.offset.ptr591 = getelementptr i8* %vtable590, i64 -12
  %136 = bitcast i8* %vbase.offset.ptr591 to i32*
  %vbase.offset592 = load i32* %136
  %137 = bitcast %"class.std::basic_iostream"* %ss to i8*
  %add.ptr593 = getelementptr inbounds i8* %137, i32 %vbase.offset592
  %138 = bitcast i8* %add.ptr593 to %"class.std::basic_ios"*
  %call595 = invoke signext i8 @_ZNKSt9basic_iosIcSt11char_traitsIcEE4fillEv(%"class.std::basic_ios"* %138)
          to label %invoke.cont594 unwind label %lpad587

invoke.cont594:                                   ; preds = %invoke.cont588
  store i8 %call595, i8* %ref.tmp596, align 1
  %call598 = invoke zeroext i1 @_ZN5boost10test_tools9tt_detail10check_frwdINS1_15equal_impl_frwdEccEEbT_RKNS_9unit_test12lazy_ostreamENS5_13basic_cstringIKcEEjNS1_10tool_levelENS1_10check_typeERKT0_PSA_RKT1_SH_(%"class.boost::unit_test::lazy_ostream"* %134, %"class.boost::unit_test::basic_cstring"* byval align 4 %agg.tmp586, i32 557, i32 1, i32 2, i8* %ref.tmp589, i8* getelementptr inbounds ([4 x i8]* @.str43, i32 0, i32 0), i8* %ref.tmp596, i8* getelementptr inbounds ([10 x i8]* @.str44, i32 0, i32 0))
          to label %invoke.cont597 unwind label %lpad587

invoke.cont597:                                   ; preds = %invoke.cont594
  invoke void @_ZN5boost9unit_test17lazy_ostream_implIRA1_KcED1Ev(%"class.boost::unit_test::lazy_ostream_impl"* %ref.tmp582)
          to label %invoke.cont599 unwind label %lpad319

invoke.cont599:                                   ; preds = %invoke.cont597
  br label %do.cond602

do.cond602:                                       ; preds = %invoke.cont599
  %139 = load i8* @_ZN5boost10test_tools12_GLOBAL__N_110dummy_condE, align 1
  %tobool603 = trunc i8 %139 to i1
  br i1 %tobool603, label %do.body575, label %do.end604

do.end604:                                        ; preds = %do.cond602
  br label %do.body605

do.body605:                                       ; preds = %do.cond643, %do.end604
  %140 = load %"class.boost::unit_test::unit_test_log_t"** @_ZN5boost9unit_test12_GLOBAL__N_113unit_test_logE, align 4
  invoke void @_ZN5boost9unit_test13basic_cstringIKcEC1EPS2_j(%"class.boost::unit_test::basic_cstring"* %agg.tmp606, i8* getelementptr inbounds ([24 x i8]* @.str, i32 0, i32 0), i32 23)
          to label %invoke.cont607 unwind label %lpad319

invoke.cont607:                                   ; preds = %do.body605
  invoke void @_ZN5boost9unit_test13basic_cstringIKcEC1Ev(%"class.boost::unit_test::basic_cstring"* %agg.tmp608)
          to label %invoke.cont609 unwind label %lpad319

invoke.cont609:                                   ; preds = %invoke.cont607
  invoke void @_ZN5boost9unit_test15unit_test_log_t14set_checkpointENS0_13basic_cstringIKcEEjS4_(%"class.boost::unit_test::unit_test_log_t"* %140, %"class.boost::unit_test::basic_cstring"* byval align 4 %agg.tmp606, i32 558, %"class.boost::unit_test::basic_cstring"* byval align 4 %agg.tmp608)
          to label %invoke.cont610 unwind label %lpad319

invoke.cont610:                                   ; preds = %invoke.cont609
  call void @_ZNSt6localeC1Ev(%"class.std::locale"* %temp.lvalue612) nounwind
  %141 = bitcast %"class.std::basic_iostream"* %ss to i8**
  %vtable614 = load i8** %141
  %vbase.offset.ptr615 = getelementptr i8* %vtable614, i64 -12
  %142 = bitcast i8* %vbase.offset.ptr615 to i32*
  %vbase.offset616 = load i32* %142
  %143 = bitcast %"class.std::basic_iostream"* %ss to i8*
  %add.ptr617 = getelementptr inbounds i8* %143, i32 %vbase.offset616
  %144 = bitcast i8* %add.ptr617 to %"class.std::ios_base"*
  invoke void @_ZNKSt8ios_base6getlocEv(%"class.std::locale"* sret %ref.tmp613, %"class.std::ios_base"* %144)
          to label %invoke.cont619 unwind label %lpad618

invoke.cont619:                                   ; preds = %invoke.cont610
  %call620 = call zeroext i1 @_ZNKSt6localeeqERKS_(%"class.std::locale"* %temp.lvalue612, %"class.std::locale"* %ref.tmp613) nounwind
  invoke void @_ZN5boost10test_tools16predicate_resultC1Eb(%"class.boost::test_tools::predicate_result"* %ref.tmp611, i1 zeroext %call620)
          to label %invoke.cont622 unwind label %lpad621

invoke.cont622:                                   ; preds = %invoke.cont619
  %call626 = invoke %"class.boost::unit_test::lazy_ostream"* @_ZN5boost9unit_test12lazy_ostream8instanceEv()
          to label %invoke.cont625 unwind label %lpad624

invoke.cont625:                                   ; preds = %invoke.cont622
  invoke void @_ZN5boost9unit_test13basic_cstringIKcEC1EPS2_j(%"class.boost::unit_test::basic_cstring"* %ref.tmp627, i8* getelementptr inbounds ([24 x i8]* @.str48, i32 0, i32 0), i32 23)
          to label %invoke.cont628 unwind label %lpad624

invoke.cont628:                                   ; preds = %invoke.cont625
  invoke void @_ZN5boost9unit_testlsINS0_13basic_cstringIKcEEEENS0_17lazy_ostream_implIRKT_EERKNS0_12lazy_ostreamES8_(%"class.boost::unit_test::lazy_ostream_impl.0"* sret %ref.tmp623, %"class.boost::unit_test::lazy_ostream"* %call626, %"class.boost::unit_test::basic_cstring"* %ref.tmp627)
          to label %invoke.cont629 unwind label %lpad624

invoke.cont629:                                   ; preds = %invoke.cont628
  %145 = bitcast %"class.boost::unit_test::lazy_ostream_impl.0"* %ref.tmp623 to %"class.boost::unit_test::lazy_ostream"*
  invoke void @_ZN5boost9unit_test13basic_cstringIKcEC1EPS2_j(%"class.boost::unit_test::basic_cstring"* %agg.tmp630, i8* getelementptr inbounds ([24 x i8]* @.str, i32 0, i32 0), i32 23)
          to label %invoke.cont632 unwind label %lpad631

invoke.cont632:                                   ; preds = %invoke.cont629
  %call634 = invoke zeroext i1 (%"class.boost::test_tools::predicate_result"*, %"class.boost::unit_test::lazy_ostream"*, %"class.boost::unit_test::basic_cstring"*, i32, i32, i32, i32, ...)* @_ZN5boost10test_tools9tt_detail10check_implERKNS0_16predicate_resultERKNS_9unit_test12lazy_ostreamENS5_13basic_cstringIKcEEjNS1_10tool_levelENS1_10check_typeEjz(%"class.boost::test_tools::predicate_result"* %ref.tmp611, %"class.boost::unit_test::lazy_ostream"* %145, %"class.boost::unit_test::basic_cstring"* byval align 4 %agg.tmp630, i32 558, i32 1, i32 0, i32 0)
          to label %invoke.cont633 unwind label %lpad631

invoke.cont633:                                   ; preds = %invoke.cont632
  invoke void @_ZN5boost9unit_test17lazy_ostream_implIRKNS0_13basic_cstringIKcEEED1Ev(%"class.boost::unit_test::lazy_ostream_impl.0"* %ref.tmp623)
          to label %invoke.cont635 unwind label %lpad624

invoke.cont635:                                   ; preds = %invoke.cont633
  invoke void @_ZN5boost10test_tools16predicate_resultD1Ev(%"class.boost::test_tools::predicate_result"* %ref.tmp611)
          to label %invoke.cont638 unwind label %lpad621

invoke.cont638:                                   ; preds = %invoke.cont635
  call void @_ZNSt6localeD1Ev(%"class.std::locale"* %ref.tmp613) nounwind
  call void @_ZNSt6localeD1Ev(%"class.std::locale"* %temp.lvalue612) nounwind
  br label %do.cond643

do.cond643:                                       ; preds = %invoke.cont638
  %146 = load i8* @_ZN5boost10test_tools12_GLOBAL__N_110dummy_condE, align 1
  %tobool644 = trunc i8 %146 to i1
  br i1 %tobool644, label %do.body605, label %do.end645

do.end645:                                        ; preds = %do.cond643
  %147 = bitcast %"class.std::basic_iostream"* %ss to i8*
  %add.ptr646 = getelementptr inbounds i8* %147, i32 8
  %148 = bitcast i8* %add.ptr646 to %"class.std::basic_ostream"*
  %call648 = invoke %"class.std::basic_ostream"* @_ZNSolsEPFRSt8ios_baseS0_E(%"class.std::basic_ostream"* %148, %"class.std::ios_base"* (%"class.std::ios_base"*)* @_ZSt3octRSt8ios_base)
          to label %invoke.cont647 unwind label %lpad319

invoke.cont647:                                   ; preds = %do.end645
  %call650 = invoke %"class.std::basic_ostream"* @_ZNSolsEPFRSt8ios_baseS0_E(%"class.std::basic_ostream"* %call648, %"class.std::ios_base"* (%"class.std::ios_base"*)* @_ZSt7showposRSt8ios_base)
          to label %invoke.cont649 unwind label %lpad319

invoke.cont649:                                   ; preds = %invoke.cont647
  %call652 = invoke %"class.std::basic_ostream"* @_ZNSolsEPFRSt8ios_baseS0_E(%"class.std::basic_ostream"* %call650, %"class.std::ios_base"* (%"class.std::ios_base"*)* @_ZSt8noskipwsRSt8ios_base)
          to label %invoke.cont651 unwind label %lpad319

invoke.cont651:                                   ; preds = %invoke.cont649
  br label %do.body653

do.body653:                                       ; preds = %do.cond682, %invoke.cont651
  %149 = load %"class.boost::unit_test::unit_test_log_t"** @_ZN5boost9unit_test12_GLOBAL__N_113unit_test_logE, align 4
  invoke void @_ZN5boost9unit_test13basic_cstringIKcEC1EPS2_j(%"class.boost::unit_test::basic_cstring"* %agg.tmp654, i8* getelementptr inbounds ([24 x i8]* @.str, i32 0, i32 0), i32 23)
          to label %invoke.cont655 unwind label %lpad319

invoke.cont655:                                   ; preds = %do.body653
  invoke void @_ZN5boost9unit_test13basic_cstringIKcEC1Ev(%"class.boost::unit_test::basic_cstring"* %agg.tmp656)
          to label %invoke.cont657 unwind label %lpad319

invoke.cont657:                                   ; preds = %invoke.cont655
  invoke void @_ZN5boost9unit_test15unit_test_log_t14set_checkpointENS0_13basic_cstringIKcEEjS4_(%"class.boost::unit_test::unit_test_log_t"* %149, %"class.boost::unit_test::basic_cstring"* byval align 4 %agg.tmp654, i32 561, %"class.boost::unit_test::basic_cstring"* byval align 4 %agg.tmp656)
          to label %invoke.cont658 unwind label %lpad319

invoke.cont658:                                   ; preds = %invoke.cont657
  %call662 = invoke %"class.boost::unit_test::lazy_ostream"* @_ZN5boost9unit_test12lazy_ostream8instanceEv()
          to label %invoke.cont661 unwind label %lpad319

invoke.cont661:                                   ; preds = %invoke.cont658
  invoke void @_ZN5boost9unit_testlsIA1_cEENS0_17lazy_ostream_implIRKT_EERKNS0_12lazy_ostreamES6_(%"class.boost::unit_test::lazy_ostream_impl"* sret %ref.tmp660, %"class.boost::unit_test::lazy_ostream"* %call662, [1 x i8]* @.str3)
          to label %invoke.cont663 unwind label %lpad319

invoke.cont663:                                   ; preds = %invoke.cont661
  %150 = bitcast %"class.boost::unit_test::lazy_ostream_impl"* %ref.tmp660 to %"class.boost::unit_test::lazy_ostream"*
  invoke void @_ZN5boost9unit_test13basic_cstringIKcEC1EPS2_j(%"class.boost::unit_test::basic_cstring"* %agg.tmp664, i8* getelementptr inbounds ([24 x i8]* @.str, i32 0, i32 0), i32 23)
          to label %invoke.cont666 unwind label %lpad665

invoke.cont666:                                   ; preds = %invoke.cont663
  %call668 = invoke i32 @_ZStorSt13_Ios_FmtflagsS_(i32 2048, i32 64)
          to label %invoke.cont667 unwind label %lpad665

invoke.cont667:                                   ; preds = %invoke.cont666
  store i32 %call668, i32* %ref.tmp669, align 4
  %151 = bitcast %"class.std::basic_iostream"* %ss to i8**
  %vtable670 = load i8** %151
  %vbase.offset.ptr671 = getelementptr i8* %vtable670, i64 -12
  %152 = bitcast i8* %vbase.offset.ptr671 to i32*
  %vbase.offset672 = load i32* %152
  %153 = bitcast %"class.std::basic_iostream"* %ss to i8*
  %add.ptr673 = getelementptr inbounds i8* %153, i32 %vbase.offset672
  %154 = bitcast i8* %add.ptr673 to %"class.std::ios_base"*
  %call675 = invoke i32 @_ZNKSt8ios_base5flagsEv(%"class.std::ios_base"* %154)
          to label %invoke.cont674 unwind label %lpad665

invoke.cont674:                                   ; preds = %invoke.cont667
  store i32 %call675, i32* %ref.tmp676, align 4
  %call678 = invoke zeroext i1 @_ZN5boost10test_tools9tt_detail10check_frwdINS1_15equal_impl_frwdESt13_Ios_FmtflagsS4_EEbT_RKNS_9unit_test12lazy_ostreamENS6_13basic_cstringIKcEEjNS1_10tool_levelENS1_10check_typeERKT0_PSB_RKT1_SI_(%"class.boost::unit_test::lazy_ostream"* %150, %"class.boost::unit_test::basic_cstring"* byval align 4 %agg.tmp664, i32 561, i32 1, i32 2, i32* %ref.tmp669, i8* getelementptr inbounds ([36 x i8]* @.str65, i32 0, i32 0), i32* %ref.tmp676, i8* getelementptr inbounds ([11 x i8]* @.str5, i32 0, i32 0))
          to label %invoke.cont677 unwind label %lpad665

invoke.cont677:                                   ; preds = %invoke.cont674
  invoke void @_ZN5boost9unit_test17lazy_ostream_implIRA1_KcED1Ev(%"class.boost::unit_test::lazy_ostream_impl"* %ref.tmp660)
          to label %invoke.cont679 unwind label %lpad319

invoke.cont679:                                   ; preds = %invoke.cont677
  br label %do.cond682

do.cond682:                                       ; preds = %invoke.cont679
  %155 = load i8* @_ZN5boost10test_tools12_GLOBAL__N_110dummy_condE, align 1
  %tobool683 = trunc i8 %155 to i1
  br i1 %tobool683, label %do.body653, label %do.end684

do.end684:                                        ; preds = %do.cond682
  %156 = bitcast %"class.std::basic_iostream"* %ss to i8*
  %add.ptr685 = getelementptr inbounds i8* %156, i32 8
  %157 = bitcast i8* %add.ptr685 to %"class.std::basic_ostream"*
  invoke void @_ZSt12setprecisioni(%"struct.std::_Setprecision"* sret %agg.tmp686, i32 3)
          to label %invoke.cont687 unwind label %lpad319

invoke.cont687:                                   ; preds = %do.end684
  %call689 = invoke %"class.std::basic_ostream"* @_ZStlsIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_St13_Setprecision(%"class.std::basic_ostream"* %157, %"struct.std::_Setprecision"* byval align 4 %agg.tmp686)
          to label %invoke.cont688 unwind label %lpad319

invoke.cont688:                                   ; preds = %invoke.cont687
  br label %do.body690

do.body690:                                       ; preds = %do.cond717, %invoke.cont688
  %158 = load %"class.boost::unit_test::unit_test_log_t"** @_ZN5boost9unit_test12_GLOBAL__N_113unit_test_logE, align 4
  invoke void @_ZN5boost9unit_test13basic_cstringIKcEC1EPS2_j(%"class.boost::unit_test::basic_cstring"* %agg.tmp691, i8* getelementptr inbounds ([24 x i8]* @.str, i32 0, i32 0), i32 23)
          to label %invoke.cont692 unwind label %lpad319

invoke.cont692:                                   ; preds = %do.body690
  invoke void @_ZN5boost9unit_test13basic_cstringIKcEC1Ev(%"class.boost::unit_test::basic_cstring"* %agg.tmp693)
          to label %invoke.cont694 unwind label %lpad319

invoke.cont694:                                   ; preds = %invoke.cont692
  invoke void @_ZN5boost9unit_test15unit_test_log_t14set_checkpointENS0_13basic_cstringIKcEEjS4_(%"class.boost::unit_test::unit_test_log_t"* %158, %"class.boost::unit_test::basic_cstring"* byval align 4 %agg.tmp691, i32 564, %"class.boost::unit_test::basic_cstring"* byval align 4 %agg.tmp693)
          to label %invoke.cont695 unwind label %lpad319

invoke.cont695:                                   ; preds = %invoke.cont694
  %call699 = invoke %"class.boost::unit_test::lazy_ostream"* @_ZN5boost9unit_test12lazy_ostream8instanceEv()
          to label %invoke.cont698 unwind label %lpad319

invoke.cont698:                                   ; preds = %invoke.cont695
  invoke void @_ZN5boost9unit_testlsIA1_cEENS0_17lazy_ostream_implIRKT_EERKNS0_12lazy_ostreamES6_(%"class.boost::unit_test::lazy_ostream_impl"* sret %ref.tmp697, %"class.boost::unit_test::lazy_ostream"* %call699, [1 x i8]* @.str3)
          to label %invoke.cont700 unwind label %lpad319

invoke.cont700:                                   ; preds = %invoke.cont698
  %159 = bitcast %"class.boost::unit_test::lazy_ostream_impl"* %ref.tmp697 to %"class.boost::unit_test::lazy_ostream"*
  invoke void @_ZN5boost9unit_test13basic_cstringIKcEC1EPS2_j(%"class.boost::unit_test::basic_cstring"* %agg.tmp701, i8* getelementptr inbounds ([24 x i8]* @.str, i32 0, i32 0), i32 23)
          to label %invoke.cont703 unwind label %lpad702

invoke.cont703:                                   ; preds = %invoke.cont700
  store i32 3, i32* %ref.tmp704, align 4
  %160 = bitcast %"class.std::basic_iostream"* %ss to i8**
  %vtable705 = load i8** %160
  %vbase.offset.ptr706 = getelementptr i8* %vtable705, i64 -12
  %161 = bitcast i8* %vbase.offset.ptr706 to i32*
  %vbase.offset707 = load i32* %161
  %162 = bitcast %"class.std::basic_iostream"* %ss to i8*
  %add.ptr708 = getelementptr inbounds i8* %162, i32 %vbase.offset707
  %163 = bitcast i8* %add.ptr708 to %"class.std::ios_base"*
  %call710 = invoke i32 @_ZNKSt8ios_base9precisionEv(%"class.std::ios_base"* %163)
          to label %invoke.cont709 unwind label %lpad702

invoke.cont709:                                   ; preds = %invoke.cont703
  store i32 %call710, i32* %ref.tmp711, align 4
  %call713 = invoke zeroext i1 @_ZN5boost10test_tools9tt_detail10check_frwdINS1_15equal_impl_frwdEiiEEbT_RKNS_9unit_test12lazy_ostreamENS5_13basic_cstringIKcEEjNS1_10tool_levelENS1_10check_typeERKT0_PSA_RKT1_SH_(%"class.boost::unit_test::lazy_ostream"* %159, %"class.boost::unit_test::basic_cstring"* byval align 4 %agg.tmp701, i32 564, i32 1, i32 2, i32* %ref.tmp704, i8* getelementptr inbounds ([2 x i8]* @.str66, i32 0, i32 0), i32* %ref.tmp711, i8* getelementptr inbounds ([15 x i8]* @.str10, i32 0, i32 0))
          to label %invoke.cont712 unwind label %lpad702

invoke.cont712:                                   ; preds = %invoke.cont709
  invoke void @_ZN5boost9unit_test17lazy_ostream_implIRA1_KcED1Ev(%"class.boost::unit_test::lazy_ostream_impl"* %ref.tmp697)
          to label %invoke.cont714 unwind label %lpad319

invoke.cont714:                                   ; preds = %invoke.cont712
  br label %do.cond717

do.cond717:                                       ; preds = %invoke.cont714
  %164 = load i8* @_ZN5boost10test_tools12_GLOBAL__N_110dummy_condE, align 1
  %tobool718 = trunc i8 %164 to i1
  br i1 %tobool718, label %do.body690, label %do.end719

do.end719:                                        ; preds = %do.cond717
  %165 = bitcast %"class.std::basic_iostream"* %ss to i8*
  %add.ptr720 = getelementptr inbounds i8* %165, i32 8
  %166 = bitcast i8* %add.ptr720 to %"class.std::basic_ostream"*
  invoke void @_ZSt4setwi(%"struct.std::_Setw"* sret %agg.tmp721, i32 9)
          to label %invoke.cont722 unwind label %lpad319

invoke.cont722:                                   ; preds = %do.end719
  %call724 = invoke %"class.std::basic_ostream"* @_ZStlsIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_St5_Setw(%"class.std::basic_ostream"* %166, %"struct.std::_Setw"* byval align 4 %agg.tmp721)
          to label %invoke.cont723 unwind label %lpad319

invoke.cont723:                                   ; preds = %invoke.cont722
  br label %do.body725

do.body725:                                       ; preds = %do.cond752, %invoke.cont723
  %167 = load %"class.boost::unit_test::unit_test_log_t"** @_ZN5boost9unit_test12_GLOBAL__N_113unit_test_logE, align 4
  invoke void @_ZN5boost9unit_test13basic_cstringIKcEC1EPS2_j(%"class.boost::unit_test::basic_cstring"* %agg.tmp726, i8* getelementptr inbounds ([24 x i8]* @.str, i32 0, i32 0), i32 23)
          to label %invoke.cont727 unwind label %lpad319

invoke.cont727:                                   ; preds = %do.body725
  invoke void @_ZN5boost9unit_test13basic_cstringIKcEC1Ev(%"class.boost::unit_test::basic_cstring"* %agg.tmp728)
          to label %invoke.cont729 unwind label %lpad319

invoke.cont729:                                   ; preds = %invoke.cont727
  invoke void @_ZN5boost9unit_test15unit_test_log_t14set_checkpointENS0_13basic_cstringIKcEEjS4_(%"class.boost::unit_test::unit_test_log_t"* %167, %"class.boost::unit_test::basic_cstring"* byval align 4 %agg.tmp726, i32 567, %"class.boost::unit_test::basic_cstring"* byval align 4 %agg.tmp728)
          to label %invoke.cont730 unwind label %lpad319

invoke.cont730:                                   ; preds = %invoke.cont729
  %call734 = invoke %"class.boost::unit_test::lazy_ostream"* @_ZN5boost9unit_test12lazy_ostream8instanceEv()
          to label %invoke.cont733 unwind label %lpad319

invoke.cont733:                                   ; preds = %invoke.cont730
  invoke void @_ZN5boost9unit_testlsIA1_cEENS0_17lazy_ostream_implIRKT_EERKNS0_12lazy_ostreamES6_(%"class.boost::unit_test::lazy_ostream_impl"* sret %ref.tmp732, %"class.boost::unit_test::lazy_ostream"* %call734, [1 x i8]* @.str3)
          to label %invoke.cont735 unwind label %lpad319

invoke.cont735:                                   ; preds = %invoke.cont733
  %168 = bitcast %"class.boost::unit_test::lazy_ostream_impl"* %ref.tmp732 to %"class.boost::unit_test::lazy_ostream"*
  invoke void @_ZN5boost9unit_test13basic_cstringIKcEC1EPS2_j(%"class.boost::unit_test::basic_cstring"* %agg.tmp736, i8* getelementptr inbounds ([24 x i8]* @.str, i32 0, i32 0), i32 23)
          to label %invoke.cont738 unwind label %lpad737

invoke.cont738:                                   ; preds = %invoke.cont735
  store i32 9, i32* %ref.tmp739, align 4
  %169 = bitcast %"class.std::basic_iostream"* %ss to i8**
  %vtable740 = load i8** %169
  %vbase.offset.ptr741 = getelementptr i8* %vtable740, i64 -12
  %170 = bitcast i8* %vbase.offset.ptr741 to i32*
  %vbase.offset742 = load i32* %170
  %171 = bitcast %"class.std::basic_iostream"* %ss to i8*
  %add.ptr743 = getelementptr inbounds i8* %171, i32 %vbase.offset742
  %172 = bitcast i8* %add.ptr743 to %"class.std::ios_base"*
  %call745 = invoke i32 @_ZNKSt8ios_base5widthEv(%"class.std::ios_base"* %172)
          to label %invoke.cont744 unwind label %lpad737

invoke.cont744:                                   ; preds = %invoke.cont738
  store i32 %call745, i32* %ref.tmp746, align 4
  %call748 = invoke zeroext i1 @_ZN5boost10test_tools9tt_detail10check_frwdINS1_15equal_impl_frwdEiiEEbT_RKNS_9unit_test12lazy_ostreamENS5_13basic_cstringIKcEEjNS1_10tool_levelENS1_10check_typeERKT0_PSA_RKT1_SH_(%"class.boost::unit_test::lazy_ostream"* %168, %"class.boost::unit_test::basic_cstring"* byval align 4 %agg.tmp736, i32 567, i32 1, i32 2, i32* %ref.tmp739, i8* getelementptr inbounds ([2 x i8]* @.str67, i32 0, i32 0), i32* %ref.tmp746, i8* getelementptr inbounds ([11 x i8]* @.str15, i32 0, i32 0))
          to label %invoke.cont747 unwind label %lpad737

invoke.cont747:                                   ; preds = %invoke.cont744
  invoke void @_ZN5boost9unit_test17lazy_ostream_implIRA1_KcED1Ev(%"class.boost::unit_test::lazy_ostream_impl"* %ref.tmp732)
          to label %invoke.cont749 unwind label %lpad319

invoke.cont749:                                   ; preds = %invoke.cont747
  br label %do.cond752

do.cond752:                                       ; preds = %invoke.cont749
  %173 = load i8* @_ZN5boost10test_tools12_GLOBAL__N_110dummy_condE, align 1
  %tobool753 = trunc i8 %173 to i1
  br i1 %tobool753, label %do.body725, label %do.end754

do.end754:                                        ; preds = %do.cond752
  %174 = bitcast %"class.std::basic_iostream"* %ss to i8**
  %vtable755 = load i8** %174
  %vbase.offset.ptr756 = getelementptr i8* %vtable755, i64 -12
  %175 = bitcast i8* %vbase.offset.ptr756 to i32*
  %vbase.offset757 = load i32* %175
  %176 = bitcast %"class.std::basic_iostream"* %ss to i8*
  %add.ptr758 = getelementptr inbounds i8* %176, i32 %vbase.offset757
  %177 = bitcast i8* %add.ptr758 to %"class.std::basic_ios"*
  invoke void @_ZNSt9basic_iosIcSt11char_traitsIcEE8setstateESt12_Ios_Iostate(%"class.std::basic_ios"* %177, i32 2)
          to label %invoke.cont759 unwind label %lpad319

invoke.cont759:                                   ; preds = %do.end754
  br label %do.body760

do.body760:                                       ; preds = %do.cond786, %invoke.cont759
  %178 = load %"class.boost::unit_test::unit_test_log_t"** @_ZN5boost9unit_test12_GLOBAL__N_113unit_test_logE, align 4
  invoke void @_ZN5boost9unit_test13basic_cstringIKcEC1EPS2_j(%"class.boost::unit_test::basic_cstring"* %agg.tmp761, i8* getelementptr inbounds ([24 x i8]* @.str, i32 0, i32 0), i32 23)
          to label %invoke.cont762 unwind label %lpad319

invoke.cont762:                                   ; preds = %do.body760
  invoke void @_ZN5boost9unit_test13basic_cstringIKcEC1Ev(%"class.boost::unit_test::basic_cstring"* %agg.tmp763)
          to label %invoke.cont764 unwind label %lpad319

invoke.cont764:                                   ; preds = %invoke.cont762
  invoke void @_ZN5boost9unit_test15unit_test_log_t14set_checkpointENS0_13basic_cstringIKcEEjS4_(%"class.boost::unit_test::unit_test_log_t"* %178, %"class.boost::unit_test::basic_cstring"* byval align 4 %agg.tmp761, i32 570, %"class.boost::unit_test::basic_cstring"* byval align 4 %agg.tmp763)
          to label %invoke.cont765 unwind label %lpad319

invoke.cont765:                                   ; preds = %invoke.cont764
  %call769 = invoke %"class.boost::unit_test::lazy_ostream"* @_ZN5boost9unit_test12lazy_ostream8instanceEv()
          to label %invoke.cont768 unwind label %lpad319

invoke.cont768:                                   ; preds = %invoke.cont765
  invoke void @_ZN5boost9unit_testlsIA1_cEENS0_17lazy_ostream_implIRKT_EERKNS0_12lazy_ostreamES6_(%"class.boost::unit_test::lazy_ostream_impl"* sret %ref.tmp767, %"class.boost::unit_test::lazy_ostream"* %call769, [1 x i8]* @.str3)
          to label %invoke.cont770 unwind label %lpad319

invoke.cont770:                                   ; preds = %invoke.cont768
  %179 = bitcast %"class.boost::unit_test::lazy_ostream_impl"* %ref.tmp767 to %"class.boost::unit_test::lazy_ostream"*
  invoke void @_ZN5boost9unit_test13basic_cstringIKcEC1EPS2_j(%"class.boost::unit_test::basic_cstring"* %agg.tmp771, i8* getelementptr inbounds ([24 x i8]* @.str, i32 0, i32 0), i32 23)
          to label %invoke.cont773 unwind label %lpad772

invoke.cont773:                                   ; preds = %invoke.cont770
  %180 = bitcast %"class.std::basic_iostream"* %ss to i8**
  %vtable774 = load i8** %180
  %vbase.offset.ptr775 = getelementptr i8* %vtable774, i64 -12
  %181 = bitcast i8* %vbase.offset.ptr775 to i32*
  %vbase.offset776 = load i32* %181
  %182 = bitcast %"class.std::basic_iostream"* %ss to i8*
  %add.ptr777 = getelementptr inbounds i8* %182, i32 %vbase.offset776
  %183 = bitcast i8* %add.ptr777 to %"class.std::basic_ios"*
  %call779 = invoke i32 @_ZNKSt9basic_iosIcSt11char_traitsIcEE7rdstateEv(%"class.std::basic_ios"* %183)
          to label %invoke.cont778 unwind label %lpad772

invoke.cont778:                                   ; preds = %invoke.cont773
  store i32 %call779, i32* %ref.tmp780, align 4
  %call782 = invoke zeroext i1 @_ZN5boost10test_tools9tt_detail10check_frwdINS1_15equal_impl_frwdESt12_Ios_IostateS4_EEbT_RKNS_9unit_test12lazy_ostreamENS6_13basic_cstringIKcEEjNS1_10tool_levelENS1_10check_typeERKT0_PSB_RKT1_SI_(%"class.boost::unit_test::lazy_ostream"* %179, %"class.boost::unit_test::basic_cstring"* byval align 4 %agg.tmp771, i32 570, i32 1, i32 2, i32* @_ZNSt8ios_base6eofbitE, i8* getelementptr inbounds ([17 x i8]* @.str23, i32 0, i32 0), i32* %ref.tmp780, i8* getelementptr inbounds ([13 x i8]* @.str17, i32 0, i32 0))
          to label %invoke.cont781 unwind label %lpad772

invoke.cont781:                                   ; preds = %invoke.cont778
  invoke void @_ZN5boost9unit_test17lazy_ostream_implIRA1_KcED1Ev(%"class.boost::unit_test::lazy_ostream_impl"* %ref.tmp767)
          to label %invoke.cont783 unwind label %lpad319

invoke.cont783:                                   ; preds = %invoke.cont781
  br label %do.cond786

do.cond786:                                       ; preds = %invoke.cont783
  %184 = load i8* @_ZN5boost10test_tools12_GLOBAL__N_110dummy_condE, align 1
  %tobool787 = trunc i8 %184 to i1
  br i1 %tobool787, label %do.body760, label %do.end788

do.end788:                                        ; preds = %do.cond786
  br label %do.body789

do.body789:                                       ; preds = %do.cond821, %do.end788
  %185 = load %"class.boost::unit_test::unit_test_log_t"** @_ZN5boost9unit_test12_GLOBAL__N_113unit_test_logE, align 4
  invoke void @_ZN5boost9unit_test13basic_cstringIKcEC1EPS2_j(%"class.boost::unit_test::basic_cstring"* %agg.tmp790, i8* getelementptr inbounds ([24 x i8]* @.str, i32 0, i32 0), i32 23)
          to label %invoke.cont791 unwind label %lpad319

invoke.cont791:                                   ; preds = %do.body789
  invoke void @_ZN5boost9unit_test13basic_cstringIKcEC1Ev(%"class.boost::unit_test::basic_cstring"* %agg.tmp792)
          to label %invoke.cont793 unwind label %lpad319

invoke.cont793:                                   ; preds = %invoke.cont791
  invoke void @_ZN5boost9unit_test15unit_test_log_t14set_checkpointENS0_13basic_cstringIKcEEjS4_(%"class.boost::unit_test::unit_test_log_t"* %185, %"class.boost::unit_test::basic_cstring"* byval align 4 %agg.tmp790, i32 571, %"class.boost::unit_test::basic_cstring"* byval align 4 %agg.tmp792)
          to label %invoke.cont794 unwind label %lpad319

invoke.cont794:                                   ; preds = %invoke.cont793
  %186 = bitcast %"class.std::basic_iostream"* %ss to i8**
  %vtable796 = load i8** %186
  %vbase.offset.ptr797 = getelementptr i8* %vtable796, i64 -12
  %187 = bitcast i8* %vbase.offset.ptr797 to i32*
  %vbase.offset798 = load i32* %187
  %188 = bitcast %"class.std::basic_iostream"* %ss to i8*
  %add.ptr799 = getelementptr inbounds i8* %188, i32 %vbase.offset798
  %189 = bitcast i8* %add.ptr799 to %"class.std::basic_ios"*
  %call801 = invoke zeroext i1 @_ZNKSt9basic_iosIcSt11char_traitsIcEE3eofEv(%"class.std::basic_ios"* %189)
          to label %invoke.cont800 unwind label %lpad319

invoke.cont800:                                   ; preds = %invoke.cont794
  invoke void @_ZN5boost10test_tools16predicate_resultC1Eb(%"class.boost::test_tools::predicate_result"* %ref.tmp795, i1 zeroext %call801)
          to label %invoke.cont802 unwind label %lpad319

invoke.cont802:                                   ; preds = %invoke.cont800
  %call806 = invoke %"class.boost::unit_test::lazy_ostream"* @_ZN5boost9unit_test12lazy_ostream8instanceEv()
          to label %invoke.cont805 unwind label %lpad804

invoke.cont805:                                   ; preds = %invoke.cont802
  invoke void @_ZN5boost9unit_test13basic_cstringIKcEC1EPS2_j(%"class.boost::unit_test::basic_cstring"* %ref.tmp807, i8* getelementptr inbounds ([9 x i8]* @.str20, i32 0, i32 0), i32 8)
          to label %invoke.cont808 unwind label %lpad804

invoke.cont808:                                   ; preds = %invoke.cont805
  invoke void @_ZN5boost9unit_testlsINS0_13basic_cstringIKcEEEENS0_17lazy_ostream_implIRKT_EERKNS0_12lazy_ostreamES8_(%"class.boost::unit_test::lazy_ostream_impl.0"* sret %ref.tmp803, %"class.boost::unit_test::lazy_ostream"* %call806, %"class.boost::unit_test::basic_cstring"* %ref.tmp807)
          to label %invoke.cont809 unwind label %lpad804

invoke.cont809:                                   ; preds = %invoke.cont808
  %190 = bitcast %"class.boost::unit_test::lazy_ostream_impl.0"* %ref.tmp803 to %"class.boost::unit_test::lazy_ostream"*
  invoke void @_ZN5boost9unit_test13basic_cstringIKcEC1EPS2_j(%"class.boost::unit_test::basic_cstring"* %agg.tmp810, i8* getelementptr inbounds ([24 x i8]* @.str, i32 0, i32 0), i32 23)
          to label %invoke.cont812 unwind label %lpad811

invoke.cont812:                                   ; preds = %invoke.cont809
  %call814 = invoke zeroext i1 (%"class.boost::test_tools::predicate_result"*, %"class.boost::unit_test::lazy_ostream"*, %"class.boost::unit_test::basic_cstring"*, i32, i32, i32, i32, ...)* @_ZN5boost10test_tools9tt_detail10check_implERKNS0_16predicate_resultERKNS_9unit_test12lazy_ostreamENS5_13basic_cstringIKcEEjNS1_10tool_levelENS1_10check_typeEjz(%"class.boost::test_tools::predicate_result"* %ref.tmp795, %"class.boost::unit_test::lazy_ostream"* %190, %"class.boost::unit_test::basic_cstring"* byval align 4 %agg.tmp810, i32 571, i32 1, i32 0, i32 0)
          to label %invoke.cont813 unwind label %lpad811

invoke.cont813:                                   ; preds = %invoke.cont812
  invoke void @_ZN5boost9unit_test17lazy_ostream_implIRKNS0_13basic_cstringIKcEEED1Ev(%"class.boost::unit_test::lazy_ostream_impl.0"* %ref.tmp803)
          to label %invoke.cont815 unwind label %lpad804

invoke.cont815:                                   ; preds = %invoke.cont813
  invoke void @_ZN5boost10test_tools16predicate_resultD1Ev(%"class.boost::test_tools::predicate_result"* %ref.tmp795)
          to label %invoke.cont818 unwind label %lpad319

invoke.cont818:                                   ; preds = %invoke.cont815
  br label %do.cond821

do.cond821:                                       ; preds = %invoke.cont818
  %191 = load i8* @_ZN5boost10test_tools12_GLOBAL__N_110dummy_condE, align 1
  %tobool822 = trunc i8 %191 to i1
  br i1 %tobool822, label %do.body789, label %do.end823

do.end823:                                        ; preds = %do.cond821
  %192 = bitcast %"class.std::basic_iostream"* %ss to i8**
  %vtable824 = load i8** %192
  %vbase.offset.ptr825 = getelementptr i8* %vtable824, i64 -12
  %193 = bitcast i8* %vbase.offset.ptr825 to i32*
  %vbase.offset826 = load i32* %193
  %194 = bitcast %"class.std::basic_iostream"* %ss to i8*
  %add.ptr827 = getelementptr inbounds i8* %194, i32 %vbase.offset826
  %195 = bitcast i8* %add.ptr827 to %"class.std::basic_ios"*
  invoke void @_ZNSt9basic_iosIcSt11char_traitsIcEE10exceptionsESt12_Ios_Iostate(%"class.std::basic_ios"* %195, i32 4)
          to label %invoke.cont828 unwind label %lpad319

invoke.cont828:                                   ; preds = %do.end823
  br label %do.body829

do.body829:                                       ; preds = %do.cond855, %invoke.cont828
  %196 = load %"class.boost::unit_test::unit_test_log_t"** @_ZN5boost9unit_test12_GLOBAL__N_113unit_test_logE, align 4
  invoke void @_ZN5boost9unit_test13basic_cstringIKcEC1EPS2_j(%"class.boost::unit_test::basic_cstring"* %agg.tmp830, i8* getelementptr inbounds ([24 x i8]* @.str, i32 0, i32 0), i32 23)
          to label %invoke.cont831 unwind label %lpad319

invoke.cont831:                                   ; preds = %do.body829
  invoke void @_ZN5boost9unit_test13basic_cstringIKcEC1Ev(%"class.boost::unit_test::basic_cstring"* %agg.tmp832)
          to label %invoke.cont833 unwind label %lpad319

invoke.cont833:                                   ; preds = %invoke.cont831
  invoke void @_ZN5boost9unit_test15unit_test_log_t14set_checkpointENS0_13basic_cstringIKcEEjS4_(%"class.boost::unit_test::unit_test_log_t"* %196, %"class.boost::unit_test::basic_cstring"* byval align 4 %agg.tmp830, i32 574, %"class.boost::unit_test::basic_cstring"* byval align 4 %agg.tmp832)
          to label %invoke.cont834 unwind label %lpad319

invoke.cont834:                                   ; preds = %invoke.cont833
  %call838 = invoke %"class.boost::unit_test::lazy_ostream"* @_ZN5boost9unit_test12lazy_ostream8instanceEv()
          to label %invoke.cont837 unwind label %lpad319

invoke.cont837:                                   ; preds = %invoke.cont834
  invoke void @_ZN5boost9unit_testlsIA1_cEENS0_17lazy_ostream_implIRKT_EERKNS0_12lazy_ostreamES6_(%"class.boost::unit_test::lazy_ostream_impl"* sret %ref.tmp836, %"class.boost::unit_test::lazy_ostream"* %call838, [1 x i8]* @.str3)
          to label %invoke.cont839 unwind label %lpad319

invoke.cont839:                                   ; preds = %invoke.cont837
  %197 = bitcast %"class.boost::unit_test::lazy_ostream_impl"* %ref.tmp836 to %"class.boost::unit_test::lazy_ostream"*
  invoke void @_ZN5boost9unit_test13basic_cstringIKcEC1EPS2_j(%"class.boost::unit_test::basic_cstring"* %agg.tmp840, i8* getelementptr inbounds ([24 x i8]* @.str, i32 0, i32 0), i32 23)
          to label %invoke.cont842 unwind label %lpad841

invoke.cont842:                                   ; preds = %invoke.cont839
  %198 = bitcast %"class.std::basic_iostream"* %ss to i8**
  %vtable843 = load i8** %198
  %vbase.offset.ptr844 = getelementptr i8* %vtable843, i64 -12
  %199 = bitcast i8* %vbase.offset.ptr844 to i32*
  %vbase.offset845 = load i32* %199
  %200 = bitcast %"class.std::basic_iostream"* %ss to i8*
  %add.ptr846 = getelementptr inbounds i8* %200, i32 %vbase.offset845
  %201 = bitcast i8* %add.ptr846 to %"class.std::basic_ios"*
  %call848 = invoke i32 @_ZNKSt9basic_iosIcSt11char_traitsIcEE10exceptionsEv(%"class.std::basic_ios"* %201)
          to label %invoke.cont847 unwind label %lpad841

invoke.cont847:                                   ; preds = %invoke.cont842
  store i32 %call848, i32* %ref.tmp849, align 4
  %call851 = invoke zeroext i1 @_ZN5boost10test_tools9tt_detail10check_frwdINS1_15equal_impl_frwdESt12_Ios_IostateS4_EEbT_RKNS_9unit_test12lazy_ostreamENS6_13basic_cstringIKcEEjNS1_10tool_levelENS1_10check_typeERKT0_PSB_RKT1_SI_(%"class.boost::unit_test::lazy_ostream"* %197, %"class.boost::unit_test::basic_cstring"* byval align 4 %agg.tmp840, i32 574, i32 1, i32 2, i32* @_ZNSt8ios_base7failbitE, i8* getelementptr inbounds ([18 x i8]* @.str27, i32 0, i32 0), i32* %ref.tmp849, i8* getelementptr inbounds ([16 x i8]* @.str26, i32 0, i32 0))
          to label %invoke.cont850 unwind label %lpad841

invoke.cont850:                                   ; preds = %invoke.cont847
  invoke void @_ZN5boost9unit_test17lazy_ostream_implIRA1_KcED1Ev(%"class.boost::unit_test::lazy_ostream_impl"* %ref.tmp836)
          to label %invoke.cont852 unwind label %lpad319

invoke.cont852:                                   ; preds = %invoke.cont850
  br label %do.cond855

do.cond855:                                       ; preds = %invoke.cont852
  %202 = load i8* @_ZN5boost10test_tools12_GLOBAL__N_110dummy_condE, align 1
  %tobool856 = trunc i8 %202 to i1
  br i1 %tobool856, label %do.body829, label %do.end857

do.end857:                                        ; preds = %do.cond855
  %203 = bitcast %"class.std::basic_iostream"* %ss to i8**
  %vtable858 = load i8** %203
  %vbase.offset.ptr859 = getelementptr i8* %vtable858, i64 -12
  %204 = bitcast i8* %vbase.offset.ptr859 to i32*
  %vbase.offset860 = load i32* %204
  %205 = bitcast %"class.std::basic_iostream"* %ss to i8*
  %add.ptr861 = getelementptr inbounds i8* %205, i32 %vbase.offset860
  %206 = bitcast i8* %add.ptr861 to %"class.std::basic_ios"*
  invoke void @_ZN5boost2io23basic_ios_iostate_saverIcSt11char_traitsIcEEC1ERSt9basic_iosIcS3_E(%"class.boost::io::basic_ios_iostate_saver"* %iis, %"class.std::basic_ios"* %206)
          to label %invoke.cont862 unwind label %lpad319

invoke.cont862:                                   ; preds = %do.end857
  %207 = load %"class.boost::unit_test::unit_test_log_t"** @_ZN5boost9unit_test12_GLOBAL__N_113unit_test_logE, align 4
  invoke void @_ZN5boost9unit_test13basic_cstringIKcEC1EPS2_j(%"class.boost::unit_test::basic_cstring"* %agg.tmp863, i8* getelementptr inbounds ([24 x i8]* @.str, i32 0, i32 0), i32 23)
          to label %invoke.cont865 unwind label %lpad864

invoke.cont865:                                   ; preds = %invoke.cont862
  invoke void @_ZN5boost9unit_test13basic_cstringIKcEC1Ev(%"class.boost::unit_test::basic_cstring"* %agg.tmp866)
          to label %invoke.cont867 unwind label %lpad864

invoke.cont867:                                   ; preds = %invoke.cont865
  invoke void @_ZN5boost9unit_test15unit_test_log_t14set_checkpointENS0_13basic_cstringIKcEEjS4_(%"class.boost::unit_test::unit_test_log_t"* %207, %"class.boost::unit_test::basic_cstring"* byval align 4 %agg.tmp863, i32 580, %"class.boost::unit_test::basic_cstring"* byval align 4 %agg.tmp866)
          to label %invoke.cont868 unwind label %lpad864

invoke.cont868:                                   ; preds = %invoke.cont867
  %208 = bitcast %"class.std::basic_iostream"* %ss to %"class.std::basic_istream"*
  %call870 = invoke %"class.std::basic_istream"* @_ZStrsIcSt11char_traitsIcEERSt13basic_istreamIT_T0_ES6_RS3_(%"class.std::basic_istream"* %208, i8* %c)
          to label %invoke.cont869 unwind label %lpad864

invoke.cont869:                                   ; preds = %invoke.cont868
  br label %do.body871

do.body871:                                       ; preds = %do.cond895, %invoke.cont869
  %209 = load %"class.boost::unit_test::unit_test_log_t"** @_ZN5boost9unit_test12_GLOBAL__N_113unit_test_logE, align 4
  invoke void @_ZN5boost9unit_test13basic_cstringIKcEC1EPS2_j(%"class.boost::unit_test::basic_cstring"* %agg.tmp872, i8* getelementptr inbounds ([24 x i8]* @.str, i32 0, i32 0), i32 23)
          to label %invoke.cont873 unwind label %lpad864

invoke.cont873:                                   ; preds = %do.body871
  invoke void @_ZN5boost9unit_test13basic_cstringIKcEC1Ev(%"class.boost::unit_test::basic_cstring"* %agg.tmp874)
          to label %invoke.cont875 unwind label %lpad864

invoke.cont875:                                   ; preds = %invoke.cont873
  invoke void @_ZN5boost9unit_test15unit_test_log_t14set_checkpointENS0_13basic_cstringIKcEEjS4_(%"class.boost::unit_test::unit_test_log_t"* %209, %"class.boost::unit_test::basic_cstring"* byval align 4 %agg.tmp872, i32 580, %"class.boost::unit_test::basic_cstring"* byval align 4 %agg.tmp874)
          to label %invoke.cont876 unwind label %lpad864

invoke.cont876:                                   ; preds = %invoke.cont875
  invoke void @_ZN5boost10test_tools16predicate_resultC1Eb(%"class.boost::test_tools::predicate_result"* %ref.tmp877, i1 zeroext false)
          to label %invoke.cont878 unwind label %lpad864

invoke.cont878:                                   ; preds = %invoke.cont876
  %call882 = invoke %"class.boost::unit_test::lazy_ostream"* @_ZN5boost9unit_test12lazy_ostream8instanceEv()
          to label %invoke.cont881 unwind label %lpad880

invoke.cont881:                                   ; preds = %invoke.cont878
  invoke void @_ZN5boost9unit_testlsIA45_cEENS0_17lazy_ostream_implIRKT_EERKNS0_12lazy_ostreamES6_(%"class.boost::unit_test::lazy_ostream_impl.1"* sret %ref.tmp879, %"class.boost::unit_test::lazy_ostream"* %call882, [45 x i8]* @.str28)
          to label %invoke.cont883 unwind label %lpad880

invoke.cont883:                                   ; preds = %invoke.cont881
  %210 = bitcast %"class.boost::unit_test::lazy_ostream_impl.1"* %ref.tmp879 to %"class.boost::unit_test::lazy_ostream"*
  invoke void @_ZN5boost9unit_test13basic_cstringIKcEC1EPS2_j(%"class.boost::unit_test::basic_cstring"* %agg.tmp884, i8* getelementptr inbounds ([24 x i8]* @.str, i32 0, i32 0), i32 23)
          to label %invoke.cont886 unwind label %lpad885

invoke.cont886:                                   ; preds = %invoke.cont883
  %call888 = invoke zeroext i1 (%"class.boost::test_tools::predicate_result"*, %"class.boost::unit_test::lazy_ostream"*, %"class.boost::unit_test::basic_cstring"*, i32, i32, i32, i32, ...)* @_ZN5boost10test_tools9tt_detail10check_implERKNS0_16predicate_resultERKNS_9unit_test12lazy_ostreamENS5_13basic_cstringIKcEEjNS1_10tool_levelENS1_10check_typeEjz(%"class.boost::test_tools::predicate_result"* %ref.tmp877, %"class.boost::unit_test::lazy_ostream"* %210, %"class.boost::unit_test::basic_cstring"* byval align 4 %agg.tmp884, i32 580, i32 1, i32 1, i32 0)
          to label %invoke.cont887 unwind label %lpad885

invoke.cont887:                                   ; preds = %invoke.cont886
  invoke void @_ZN5boost9unit_test17lazy_ostream_implIRA45_KcED1Ev(%"class.boost::unit_test::lazy_ostream_impl.1"* %ref.tmp879)
          to label %invoke.cont889 unwind label %lpad880

invoke.cont889:                                   ; preds = %invoke.cont887
  invoke void @_ZN5boost10test_tools16predicate_resultD1Ev(%"class.boost::test_tools::predicate_result"* %ref.tmp877)
          to label %invoke.cont892 unwind label %lpad864

invoke.cont892:                                   ; preds = %invoke.cont889
  br label %do.cond895

do.cond895:                                       ; preds = %invoke.cont892
  %211 = load i8* @_ZN5boost10test_tools12_GLOBAL__N_110dummy_condE, align 1
  %tobool896 = trunc i8 %211 to i1
  br i1 %tobool896, label %do.body871, label %do.end897

do.end897:                                        ; preds = %do.cond895
  br label %try.cont

lpad:                                             ; preds = %do.end1492, %entry
  %212 = landingpad { i8*, i32 } personality i8* bitcast (i32 (...)* @__gxx_personality_v0 to i8*)
          cleanup
  %213 = extractvalue { i8*, i32 } %212, 0
  store i8* %213, i8** %exn.slot
  %214 = extractvalue { i8*, i32 } %212, 1
  store i32 %214, i32* %ehselector.slot
  br label %ehcleanup1496

lpad1:                                            ; preds = %invoke.cont1456, %invoke.cont1454, %do.body1452, %invoke.cont1444, %invoke.cont1430, %invoke.cont1427, %invoke.cont1426, %invoke.cont1424, %do.body1422, %invoke.cont1413, %invoke.cont1397, %invoke.cont1391, %invoke.cont1390, %invoke.cont1388, %do.body1386, %invoke.cont1377, %invoke.cont1361, %invoke.cont1355, %invoke.cont1354, %invoke.cont1352, %do.body1350, %invoke.cont1342, %invoke.cont1329, %invoke.cont1326, %invoke.cont1325, %invoke.cont1323, %do.body1321, %invoke.cont1312, %invoke.cont1297, %invoke.cont1291, %invoke.cont1290, %invoke.cont1288, %do.body1286, %invoke.cont1278, %invoke.cont1265, %invoke.cont1262, %invoke.cont1261, %invoke.cont1259, %do.body1257, %invoke.cont1249, %invoke.cont1235, %invoke.cont1232, %invoke.cont1231, %invoke.cont1229, %do.body1227, %invoke.cont1219, %invoke.cont1205, %invoke.cont1202, %invoke.cont1201, %invoke.cont1199, %do.body1197, %invoke.cont1189, %invoke.cont1173, %invoke.cont1170, %invoke.cont1169, %invoke.cont1167, %do.body1165, %do.end1161, %do.end311, %invoke.cont276, %invoke.cont274, %do.body272, %invoke.cont264, %invoke.cont250, %invoke.cont247, %invoke.cont246, %invoke.cont244, %do.body242, %invoke.cont233, %invoke.cont217, %invoke.cont211, %invoke.cont210, %invoke.cont208, %do.body206, %invoke.cont197, %invoke.cont182, %invoke.cont176, %invoke.cont175, %invoke.cont173, %do.body171, %invoke.cont163, %invoke.cont150, %invoke.cont147, %invoke.cont146, %invoke.cont144, %do.body142, %invoke.cont135, %invoke.cont120, %invoke.cont114, %invoke.cont113, %invoke.cont111, %do.body109, %invoke.cont102, %invoke.cont89, %invoke.cont86, %invoke.cont85, %invoke.cont83, %do.body81, %invoke.cont74, %invoke.cont60, %invoke.cont57, %invoke.cont56, %invoke.cont54, %do.body52, %invoke.cont45, %invoke.cont31, %invoke.cont28, %invoke.cont27, %invoke.cont25, %do.body23, %invoke.cont19, %invoke.cont7, %invoke.cont5, %invoke.cont4, %invoke.cont2, %do.body
  %215 = landingpad { i8*, i32 } personality i8* bitcast (i32 (...)* @__gxx_personality_v0 to i8*)
          cleanup
  %216 = extractvalue { i8*, i32 } %215, 0
  store i8* %216, i8** %exn.slot
  %217 = extractvalue { i8*, i32 } %215, 1
  store i32 %217, i32* %ehselector.slot
  br label %ehcleanup1494

lpad11:                                           ; preds = %invoke.cont16, %invoke.cont13, %invoke.cont12, %invoke.cont9
  %218 = landingpad { i8*, i32 } personality i8* bitcast (i32 (...)* @__gxx_personality_v0 to i8*)
          cleanup
  %219 = extractvalue { i8*, i32 } %218, 0
  store i8* %219, i8** %exn.slot
  %220 = extractvalue { i8*, i32 } %218, 1
  store i32 %220, i32* %ehselector.slot
  invoke void @_ZN5boost9unit_test17lazy_ostream_implIRA1_KcED1Ev(%"class.boost::unit_test::lazy_ostream_impl"* %ref.tmp)
          to label %invoke.cont22 unwind label %terminate.lpad

invoke.cont22:                                    ; preds = %lpad11
  br label %ehcleanup1494

lpad35:                                           ; preds = %invoke.cont42, %invoke.cont36, %invoke.cont33
  %221 = landingpad { i8*, i32 } personality i8* bitcast (i32 (...)* @__gxx_personality_v0 to i8*)
          cleanup
  %222 = extractvalue { i8*, i32 } %221, 0
  store i8* %222, i8** %exn.slot
  %223 = extractvalue { i8*, i32 } %221, 1
  store i32 %223, i32* %ehselector.slot
  invoke void @_ZN5boost9unit_test17lazy_ostream_implIRA1_KcED1Ev(%"class.boost::unit_test::lazy_ostream_impl"* %ref.tmp30)
          to label %invoke.cont48 unwind label %terminate.lpad

invoke.cont48:                                    ; preds = %lpad35
  br label %ehcleanup1494

lpad64:                                           ; preds = %invoke.cont71, %invoke.cont65, %invoke.cont62
  %224 = landingpad { i8*, i32 } personality i8* bitcast (i32 (...)* @__gxx_personality_v0 to i8*)
          cleanup
  %225 = extractvalue { i8*, i32 } %224, 0
  store i8* %225, i8** %exn.slot
  %226 = extractvalue { i8*, i32 } %224, 1
  store i32 %226, i32* %ehselector.slot
  invoke void @_ZN5boost9unit_test17lazy_ostream_implIRA1_KcED1Ev(%"class.boost::unit_test::lazy_ostream_impl"* %ref.tmp59)
          to label %invoke.cont77 unwind label %terminate.lpad

invoke.cont77:                                    ; preds = %lpad64
  br label %ehcleanup1494

lpad93:                                           ; preds = %invoke.cont99, %invoke.cont94, %invoke.cont91
  %227 = landingpad { i8*, i32 } personality i8* bitcast (i32 (...)* @__gxx_personality_v0 to i8*)
          cleanup
  %228 = extractvalue { i8*, i32 } %227, 0
  store i8* %228, i8** %exn.slot
  %229 = extractvalue { i8*, i32 } %227, 1
  store i32 %229, i32* %ehselector.slot
  invoke void @_ZN5boost9unit_test17lazy_ostream_implIRA1_KcED1Ev(%"class.boost::unit_test::lazy_ostream_impl"* %ref.tmp88)
          to label %invoke.cont105 unwind label %terminate.lpad

invoke.cont105:                                   ; preds = %lpad93
  br label %ehcleanup1494

lpad124:                                          ; preds = %invoke.cont133, %invoke.cont128, %invoke.cont125, %invoke.cont122
  %230 = landingpad { i8*, i32 } personality i8* bitcast (i32 (...)* @__gxx_personality_v0 to i8*)
          cleanup
  %231 = extractvalue { i8*, i32 } %230, 0
  store i8* %231, i8** %exn.slot
  %232 = extractvalue { i8*, i32 } %230, 1
  store i32 %232, i32* %ehselector.slot
  br label %ehcleanup

lpad131:                                          ; preds = %invoke.cont132, %invoke.cont129
  %233 = landingpad { i8*, i32 } personality i8* bitcast (i32 (...)* @__gxx_personality_v0 to i8*)
          cleanup
  %234 = extractvalue { i8*, i32 } %233, 0
  store i8* %234, i8** %exn.slot
  %235 = extractvalue { i8*, i32 } %233, 1
  store i32 %235, i32* %ehselector.slot
  invoke void @_ZN5boost9unit_test17lazy_ostream_implIRKNS0_13basic_cstringIKcEEED1Ev(%"class.boost::unit_test::lazy_ostream_impl.0"* %ref.tmp123)
          to label %invoke.cont136 unwind label %terminate.lpad

invoke.cont136:                                   ; preds = %lpad131
  br label %ehcleanup

ehcleanup:                                        ; preds = %invoke.cont136, %lpad124
  invoke void @_ZN5boost10test_tools16predicate_resultD1Ev(%"class.boost::test_tools::predicate_result"* %ref.tmp115)
          to label %invoke.cont138 unwind label %terminate.lpad

invoke.cont138:                                   ; preds = %ehcleanup
  br label %ehcleanup1494

lpad154:                                          ; preds = %invoke.cont160, %invoke.cont155, %invoke.cont152
  %236 = landingpad { i8*, i32 } personality i8* bitcast (i32 (...)* @__gxx_personality_v0 to i8*)
          cleanup
  %237 = extractvalue { i8*, i32 } %236, 0
  store i8* %237, i8** %exn.slot
  %238 = extractvalue { i8*, i32 } %236, 1
  store i32 %238, i32* %ehselector.slot
  invoke void @_ZN5boost9unit_test17lazy_ostream_implIRA1_KcED1Ev(%"class.boost::unit_test::lazy_ostream_impl"* %ref.tmp149)
          to label %invoke.cont167 unwind label %terminate.lpad

invoke.cont167:                                   ; preds = %lpad154
  br label %ehcleanup1494

lpad186:                                          ; preds = %invoke.cont195, %invoke.cont190, %invoke.cont187, %invoke.cont184
  %239 = landingpad { i8*, i32 } personality i8* bitcast (i32 (...)* @__gxx_personality_v0 to i8*)
          cleanup
  %240 = extractvalue { i8*, i32 } %239, 0
  store i8* %240, i8** %exn.slot
  %241 = extractvalue { i8*, i32 } %239, 1
  store i32 %241, i32* %ehselector.slot
  br label %ehcleanup201

lpad193:                                          ; preds = %invoke.cont194, %invoke.cont191
  %242 = landingpad { i8*, i32 } personality i8* bitcast (i32 (...)* @__gxx_personality_v0 to i8*)
          cleanup
  %243 = extractvalue { i8*, i32 } %242, 0
  store i8* %243, i8** %exn.slot
  %244 = extractvalue { i8*, i32 } %242, 1
  store i32 %244, i32* %ehselector.slot
  invoke void @_ZN5boost9unit_test17lazy_ostream_implIRKNS0_13basic_cstringIKcEEED1Ev(%"class.boost::unit_test::lazy_ostream_impl.0"* %ref.tmp185)
          to label %invoke.cont199 unwind label %terminate.lpad

invoke.cont199:                                   ; preds = %lpad193
  br label %ehcleanup201

ehcleanup201:                                     ; preds = %invoke.cont199, %lpad186
  invoke void @_ZN5boost10test_tools16predicate_resultD1Ev(%"class.boost::test_tools::predicate_result"* %ref.tmp177)
          to label %invoke.cont202 unwind label %terminate.lpad

invoke.cont202:                                   ; preds = %ehcleanup201
  br label %ehcleanup1494

lpad222:                                          ; preds = %invoke.cont231, %invoke.cont226, %invoke.cont223, %invoke.cont220
  %245 = landingpad { i8*, i32 } personality i8* bitcast (i32 (...)* @__gxx_personality_v0 to i8*)
          cleanup
  %246 = extractvalue { i8*, i32 } %245, 0
  store i8* %246, i8** %exn.slot
  %247 = extractvalue { i8*, i32 } %245, 1
  store i32 %247, i32* %ehselector.slot
  br label %ehcleanup237

lpad229:                                          ; preds = %invoke.cont230, %invoke.cont227
  %248 = landingpad { i8*, i32 } personality i8* bitcast (i32 (...)* @__gxx_personality_v0 to i8*)
          cleanup
  %249 = extractvalue { i8*, i32 } %248, 0
  store i8* %249, i8** %exn.slot
  %250 = extractvalue { i8*, i32 } %248, 1
  store i32 %250, i32* %ehselector.slot
  invoke void @_ZN5boost9unit_test17lazy_ostream_implIRKNS0_13basic_cstringIKcEEED1Ev(%"class.boost::unit_test::lazy_ostream_impl.0"* %ref.tmp221)
          to label %invoke.cont235 unwind label %terminate.lpad

invoke.cont235:                                   ; preds = %lpad229
  br label %ehcleanup237

ehcleanup237:                                     ; preds = %invoke.cont235, %lpad222
  invoke void @_ZN5boost10test_tools16predicate_resultD1Ev(%"class.boost::test_tools::predicate_result"* %ref.tmp212)
          to label %invoke.cont238 unwind label %terminate.lpad

invoke.cont238:                                   ; preds = %ehcleanup237
  br label %ehcleanup1494

lpad254:                                          ; preds = %invoke.cont261, %invoke.cont255, %invoke.cont252
  %251 = landingpad { i8*, i32 } personality i8* bitcast (i32 (...)* @__gxx_personality_v0 to i8*)
          cleanup
  %252 = extractvalue { i8*, i32 } %251, 0
  store i8* %252, i8** %exn.slot
  %253 = extractvalue { i8*, i32 } %251, 1
  store i32 %253, i32* %ehselector.slot
  invoke void @_ZN5boost9unit_test17lazy_ostream_implIRA1_KcED1Ev(%"class.boost::unit_test::lazy_ostream_impl"* %ref.tmp249)
          to label %invoke.cont268 unwind label %terminate.lpad

invoke.cont268:                                   ; preds = %lpad254
  br label %ehcleanup1494

lpad284:                                          ; preds = %invoke.cont277
  %254 = landingpad { i8*, i32 } personality i8* bitcast (i32 (...)* @__gxx_personality_v0 to i8*)
          cleanup
  %255 = extractvalue { i8*, i32 } %254, 0
  store i8* %255, i8** %exn.slot
  %256 = extractvalue { i8*, i32 } %254, 1
  store i32 %256, i32* %ehselector.slot
  br label %ehcleanup308

lpad287:                                          ; preds = %invoke.cont301, %invoke.cont285
  %257 = landingpad { i8*, i32 } personality i8* bitcast (i32 (...)* @__gxx_personality_v0 to i8*)
          cleanup
  %258 = extractvalue { i8*, i32 } %257, 0
  store i8* %258, i8** %exn.slot
  %259 = extractvalue { i8*, i32 } %257, 1
  store i32 %259, i32* %ehselector.slot
  br label %ehcleanup307

lpad290:                                          ; preds = %invoke.cont299, %invoke.cont294, %invoke.cont291, %invoke.cont288
  %260 = landingpad { i8*, i32 } personality i8* bitcast (i32 (...)* @__gxx_personality_v0 to i8*)
          cleanup
  %261 = extractvalue { i8*, i32 } %260, 0
  store i8* %261, i8** %exn.slot
  %262 = extractvalue { i8*, i32 } %260, 1
  store i32 %262, i32* %ehselector.slot
  br label %ehcleanup305

lpad297:                                          ; preds = %invoke.cont298, %invoke.cont295
  %263 = landingpad { i8*, i32 } personality i8* bitcast (i32 (...)* @__gxx_personality_v0 to i8*)
          cleanup
  %264 = extractvalue { i8*, i32 } %263, 0
  store i8* %264, i8** %exn.slot
  %265 = extractvalue { i8*, i32 } %263, 1
  store i32 %265, i32* %ehselector.slot
  invoke void @_ZN5boost9unit_test17lazy_ostream_implIRKNS0_13basic_cstringIKcEEED1Ev(%"class.boost::unit_test::lazy_ostream_impl.0"* %ref.tmp289)
          to label %invoke.cont303 unwind label %terminate.lpad

invoke.cont303:                                   ; preds = %lpad297
  br label %ehcleanup305

ehcleanup305:                                     ; preds = %invoke.cont303, %lpad290
  invoke void @_ZN5boost10test_tools16predicate_resultD1Ev(%"class.boost::test_tools::predicate_result"* %ref.tmp278)
          to label %invoke.cont306 unwind label %terminate.lpad

invoke.cont306:                                   ; preds = %ehcleanup305
  br label %ehcleanup307

ehcleanup307:                                     ; preds = %invoke.cont306, %lpad287
  call void @_ZNSt6localeD1Ev(%"class.std::locale"* %ref.tmp279) nounwind
  br label %ehcleanup308

ehcleanup308:                                     ; preds = %ehcleanup307, %lpad284
  call void @_ZNSt6localeD1Ev(%"class.std::locale"* %temp.lvalue) nounwind
  br label %ehcleanup1494

lpad319:                                          ; preds = %invoke.cont1115, %invoke.cont1114, %invoke.cont1112, %do.body1110, %invoke.cont1073, %invoke.cont1071, %do.body1069, %invoke.cont1063, %invoke.cont1058, %do.end1052, %invoke.cont1045, %invoke.cont1031, %invoke.cont1028, %invoke.cont1027, %invoke.cont1025, %do.body1023, %invoke.cont1020, %do.end1017, %invoke.cont1010, %invoke.cont990, %invoke.cont987, %invoke.cont986, %invoke.cont984, %do.body982, %invoke.cont978, %do.end969, %invoke.cont962, %invoke.cont948, %invoke.cont945, %invoke.cont944, %invoke.cont942, %do.body940, %invoke.cont931, %try.cont, %do.end857, %invoke.cont850, %invoke.cont837, %invoke.cont834, %invoke.cont833, %invoke.cont831, %do.body829, %do.end823, %invoke.cont815, %invoke.cont800, %invoke.cont794, %invoke.cont793, %invoke.cont791, %do.body789, %invoke.cont781, %invoke.cont768, %invoke.cont765, %invoke.cont764, %invoke.cont762, %do.body760, %do.end754, %invoke.cont747, %invoke.cont733, %invoke.cont730, %invoke.cont729, %invoke.cont727, %do.body725, %invoke.cont722, %do.end719, %invoke.cont712, %invoke.cont698, %invoke.cont695, %invoke.cont694, %invoke.cont692, %do.body690, %invoke.cont687, %do.end684, %invoke.cont677, %invoke.cont661, %invoke.cont658, %invoke.cont657, %invoke.cont655, %do.body653, %invoke.cont649, %invoke.cont647, %do.end645, %invoke.cont609, %invoke.cont607, %do.body605, %invoke.cont597, %invoke.cont583, %invoke.cont580, %invoke.cont579, %invoke.cont577, %do.body575, %invoke.cont566, %invoke.cont550, %invoke.cont544, %invoke.cont543, %invoke.cont541, %do.body539, %invoke.cont530, %invoke.cont514, %invoke.cont508, %invoke.cont507, %invoke.cont505, %do.body503, %invoke.cont495, %invoke.cont482, %invoke.cont479, %invoke.cont478, %invoke.cont476, %do.body474, %invoke.cont465, %invoke.cont450, %invoke.cont444, %invoke.cont443, %invoke.cont441, %do.body439, %invoke.cont431, %invoke.cont418, %invoke.cont415, %invoke.cont414, %invoke.cont412, %do.body410, %invoke.cont402, %invoke.cont388, %invoke.cont385, %invoke.cont384, %invoke.cont382, %do.body380, %invoke.cont372, %invoke.cont358, %invoke.cont355, %invoke.cont354, %invoke.cont352, %do.body350, %invoke.cont342, %invoke.cont326, %invoke.cont323, %invoke.cont322, %invoke.cont320, %do.body317
  %266 = landingpad { i8*, i32 } personality i8* bitcast (i32 (...)* @__gxx_personality_v0 to i8*)
          cleanup
  %267 = extractvalue { i8*, i32 } %266, 0
  store i8* %267, i8** %exn.slot
  %268 = extractvalue { i8*, i32 } %266, 1
  store i32 %268, i32* %ehselector.slot
  br label %ehcleanup1163

lpad330:                                          ; preds = %invoke.cont339, %invoke.cont332, %invoke.cont331, %invoke.cont328
  %269 = landingpad { i8*, i32 } personality i8* bitcast (i32 (...)* @__gxx_personality_v0 to i8*)
          cleanup
  %270 = extractvalue { i8*, i32 } %269, 0
  store i8* %270, i8** %exn.slot
  %271 = extractvalue { i8*, i32 } %269, 1
  store i32 %271, i32* %ehselector.slot
  invoke void @_ZN5boost9unit_test17lazy_ostream_implIRA1_KcED1Ev(%"class.boost::unit_test::lazy_ostream_impl"* %ref.tmp325)
          to label %invoke.cont346 unwind label %terminate.lpad

invoke.cont346:                                   ; preds = %lpad330
  br label %ehcleanup1163

lpad362:                                          ; preds = %invoke.cont369, %invoke.cont363, %invoke.cont360
  %272 = landingpad { i8*, i32 } personality i8* bitcast (i32 (...)* @__gxx_personality_v0 to i8*)
          cleanup
  %273 = extractvalue { i8*, i32 } %272, 0
  store i8* %273, i8** %exn.slot
  %274 = extractvalue { i8*, i32 } %272, 1
  store i32 %274, i32* %ehselector.slot
  invoke void @_ZN5boost9unit_test17lazy_ostream_implIRA1_KcED1Ev(%"class.boost::unit_test::lazy_ostream_impl"* %ref.tmp357)
          to label %invoke.cont376 unwind label %terminate.lpad

invoke.cont376:                                   ; preds = %lpad362
  br label %ehcleanup1163

lpad392:                                          ; preds = %invoke.cont399, %invoke.cont393, %invoke.cont390
  %275 = landingpad { i8*, i32 } personality i8* bitcast (i32 (...)* @__gxx_personality_v0 to i8*)
          cleanup
  %276 = extractvalue { i8*, i32 } %275, 0
  store i8* %276, i8** %exn.slot
  %277 = extractvalue { i8*, i32 } %275, 1
  store i32 %277, i32* %ehselector.slot
  invoke void @_ZN5boost9unit_test17lazy_ostream_implIRA1_KcED1Ev(%"class.boost::unit_test::lazy_ostream_impl"* %ref.tmp387)
          to label %invoke.cont406 unwind label %terminate.lpad

invoke.cont406:                                   ; preds = %lpad392
  br label %ehcleanup1163

lpad422:                                          ; preds = %invoke.cont428, %invoke.cont423, %invoke.cont420
  %278 = landingpad { i8*, i32 } personality i8* bitcast (i32 (...)* @__gxx_personality_v0 to i8*)
          cleanup
  %279 = extractvalue { i8*, i32 } %278, 0
  store i8* %279, i8** %exn.slot
  %280 = extractvalue { i8*, i32 } %278, 1
  store i32 %280, i32* %ehselector.slot
  invoke void @_ZN5boost9unit_test17lazy_ostream_implIRA1_KcED1Ev(%"class.boost::unit_test::lazy_ostream_impl"* %ref.tmp417)
          to label %invoke.cont435 unwind label %terminate.lpad

invoke.cont435:                                   ; preds = %lpad422
  br label %ehcleanup1163

lpad454:                                          ; preds = %invoke.cont463, %invoke.cont458, %invoke.cont455, %invoke.cont452
  %281 = landingpad { i8*, i32 } personality i8* bitcast (i32 (...)* @__gxx_personality_v0 to i8*)
          cleanup
  %282 = extractvalue { i8*, i32 } %281, 0
  store i8* %282, i8** %exn.slot
  %283 = extractvalue { i8*, i32 } %281, 1
  store i32 %283, i32* %ehselector.slot
  br label %ehcleanup469

lpad461:                                          ; preds = %invoke.cont462, %invoke.cont459
  %284 = landingpad { i8*, i32 } personality i8* bitcast (i32 (...)* @__gxx_personality_v0 to i8*)
          cleanup
  %285 = extractvalue { i8*, i32 } %284, 0
  store i8* %285, i8** %exn.slot
  %286 = extractvalue { i8*, i32 } %284, 1
  store i32 %286, i32* %ehselector.slot
  invoke void @_ZN5boost9unit_test17lazy_ostream_implIRKNS0_13basic_cstringIKcEEED1Ev(%"class.boost::unit_test::lazy_ostream_impl.0"* %ref.tmp453)
          to label %invoke.cont467 unwind label %terminate.lpad

invoke.cont467:                                   ; preds = %lpad461
  br label %ehcleanup469

ehcleanup469:                                     ; preds = %invoke.cont467, %lpad454
  invoke void @_ZN5boost10test_tools16predicate_resultD1Ev(%"class.boost::test_tools::predicate_result"* %ref.tmp445)
          to label %invoke.cont470 unwind label %terminate.lpad

invoke.cont470:                                   ; preds = %ehcleanup469
  br label %ehcleanup1163

lpad486:                                          ; preds = %invoke.cont492, %invoke.cont487, %invoke.cont484
  %287 = landingpad { i8*, i32 } personality i8* bitcast (i32 (...)* @__gxx_personality_v0 to i8*)
          cleanup
  %288 = extractvalue { i8*, i32 } %287, 0
  store i8* %288, i8** %exn.slot
  %289 = extractvalue { i8*, i32 } %287, 1
  store i32 %289, i32* %ehselector.slot
  invoke void @_ZN5boost9unit_test17lazy_ostream_implIRA1_KcED1Ev(%"class.boost::unit_test::lazy_ostream_impl"* %ref.tmp481)
          to label %invoke.cont499 unwind label %terminate.lpad

invoke.cont499:                                   ; preds = %lpad486
  br label %ehcleanup1163

lpad519:                                          ; preds = %invoke.cont528, %invoke.cont523, %invoke.cont520, %invoke.cont517
  %290 = landingpad { i8*, i32 } personality i8* bitcast (i32 (...)* @__gxx_personality_v0 to i8*)
          cleanup
  %291 = extractvalue { i8*, i32 } %290, 0
  store i8* %291, i8** %exn.slot
  %292 = extractvalue { i8*, i32 } %290, 1
  store i32 %292, i32* %ehselector.slot
  br label %ehcleanup534

lpad526:                                          ; preds = %invoke.cont527, %invoke.cont524
  %293 = landingpad { i8*, i32 } personality i8* bitcast (i32 (...)* @__gxx_personality_v0 to i8*)
          cleanup
  %294 = extractvalue { i8*, i32 } %293, 0
  store i8* %294, i8** %exn.slot
  %295 = extractvalue { i8*, i32 } %293, 1
  store i32 %295, i32* %ehselector.slot
  invoke void @_ZN5boost9unit_test17lazy_ostream_implIRKNS0_13basic_cstringIKcEEED1Ev(%"class.boost::unit_test::lazy_ostream_impl.0"* %ref.tmp518)
          to label %invoke.cont532 unwind label %terminate.lpad

invoke.cont532:                                   ; preds = %lpad526
  br label %ehcleanup534

ehcleanup534:                                     ; preds = %invoke.cont532, %lpad519
  invoke void @_ZN5boost10test_tools16predicate_resultD1Ev(%"class.boost::test_tools::predicate_result"* %ref.tmp509)
          to label %invoke.cont535 unwind label %terminate.lpad

invoke.cont535:                                   ; preds = %ehcleanup534
  br label %ehcleanup1163

lpad555:                                          ; preds = %invoke.cont564, %invoke.cont559, %invoke.cont556, %invoke.cont553
  %296 = landingpad { i8*, i32 } personality i8* bitcast (i32 (...)* @__gxx_personality_v0 to i8*)
          cleanup
  %297 = extractvalue { i8*, i32 } %296, 0
  store i8* %297, i8** %exn.slot
  %298 = extractvalue { i8*, i32 } %296, 1
  store i32 %298, i32* %ehselector.slot
  br label %ehcleanup570

lpad562:                                          ; preds = %invoke.cont563, %invoke.cont560
  %299 = landingpad { i8*, i32 } personality i8* bitcast (i32 (...)* @__gxx_personality_v0 to i8*)
          cleanup
  %300 = extractvalue { i8*, i32 } %299, 0
  store i8* %300, i8** %exn.slot
  %301 = extractvalue { i8*, i32 } %299, 1
  store i32 %301, i32* %ehselector.slot
  invoke void @_ZN5boost9unit_test17lazy_ostream_implIRKNS0_13basic_cstringIKcEEED1Ev(%"class.boost::unit_test::lazy_ostream_impl.0"* %ref.tmp554)
          to label %invoke.cont568 unwind label %terminate.lpad

invoke.cont568:                                   ; preds = %lpad562
  br label %ehcleanup570

ehcleanup570:                                     ; preds = %invoke.cont568, %lpad555
  invoke void @_ZN5boost10test_tools16predicate_resultD1Ev(%"class.boost::test_tools::predicate_result"* %ref.tmp545)
          to label %invoke.cont571 unwind label %terminate.lpad

invoke.cont571:                                   ; preds = %ehcleanup570
  br label %ehcleanup1163

lpad587:                                          ; preds = %invoke.cont594, %invoke.cont588, %invoke.cont585
  %302 = landingpad { i8*, i32 } personality i8* bitcast (i32 (...)* @__gxx_personality_v0 to i8*)
          cleanup
  %303 = extractvalue { i8*, i32 } %302, 0
  store i8* %303, i8** %exn.slot
  %304 = extractvalue { i8*, i32 } %302, 1
  store i32 %304, i32* %ehselector.slot
  invoke void @_ZN5boost9unit_test17lazy_ostream_implIRA1_KcED1Ev(%"class.boost::unit_test::lazy_ostream_impl"* %ref.tmp582)
          to label %invoke.cont601 unwind label %terminate.lpad

invoke.cont601:                                   ; preds = %lpad587
  br label %ehcleanup1163

lpad618:                                          ; preds = %invoke.cont610
  %305 = landingpad { i8*, i32 } personality i8* bitcast (i32 (...)* @__gxx_personality_v0 to i8*)
          cleanup
  %306 = extractvalue { i8*, i32 } %305, 0
  store i8* %306, i8** %exn.slot
  %307 = extractvalue { i8*, i32 } %305, 1
  store i32 %307, i32* %ehselector.slot
  br label %ehcleanup642

lpad621:                                          ; preds = %invoke.cont635, %invoke.cont619
  %308 = landingpad { i8*, i32 } personality i8* bitcast (i32 (...)* @__gxx_personality_v0 to i8*)
          cleanup
  %309 = extractvalue { i8*, i32 } %308, 0
  store i8* %309, i8** %exn.slot
  %310 = extractvalue { i8*, i32 } %308, 1
  store i32 %310, i32* %ehselector.slot
  br label %ehcleanup641

lpad624:                                          ; preds = %invoke.cont633, %invoke.cont628, %invoke.cont625, %invoke.cont622
  %311 = landingpad { i8*, i32 } personality i8* bitcast (i32 (...)* @__gxx_personality_v0 to i8*)
          cleanup
  %312 = extractvalue { i8*, i32 } %311, 0
  store i8* %312, i8** %exn.slot
  %313 = extractvalue { i8*, i32 } %311, 1
  store i32 %313, i32* %ehselector.slot
  br label %ehcleanup639

lpad631:                                          ; preds = %invoke.cont632, %invoke.cont629
  %314 = landingpad { i8*, i32 } personality i8* bitcast (i32 (...)* @__gxx_personality_v0 to i8*)
          cleanup
  %315 = extractvalue { i8*, i32 } %314, 0
  store i8* %315, i8** %exn.slot
  %316 = extractvalue { i8*, i32 } %314, 1
  store i32 %316, i32* %ehselector.slot
  invoke void @_ZN5boost9unit_test17lazy_ostream_implIRKNS0_13basic_cstringIKcEEED1Ev(%"class.boost::unit_test::lazy_ostream_impl.0"* %ref.tmp623)
          to label %invoke.cont637 unwind label %terminate.lpad

invoke.cont637:                                   ; preds = %lpad631
  br label %ehcleanup639

ehcleanup639:                                     ; preds = %invoke.cont637, %lpad624
  invoke void @_ZN5boost10test_tools16predicate_resultD1Ev(%"class.boost::test_tools::predicate_result"* %ref.tmp611)
          to label %invoke.cont640 unwind label %terminate.lpad

invoke.cont640:                                   ; preds = %ehcleanup639
  br label %ehcleanup641

ehcleanup641:                                     ; preds = %invoke.cont640, %lpad621
  call void @_ZNSt6localeD1Ev(%"class.std::locale"* %ref.tmp613) nounwind
  br label %ehcleanup642

ehcleanup642:                                     ; preds = %ehcleanup641, %lpad618
  call void @_ZNSt6localeD1Ev(%"class.std::locale"* %temp.lvalue612) nounwind
  br label %ehcleanup1163

lpad665:                                          ; preds = %invoke.cont674, %invoke.cont667, %invoke.cont666, %invoke.cont663
  %317 = landingpad { i8*, i32 } personality i8* bitcast (i32 (...)* @__gxx_personality_v0 to i8*)
          cleanup
  %318 = extractvalue { i8*, i32 } %317, 0
  store i8* %318, i8** %exn.slot
  %319 = extractvalue { i8*, i32 } %317, 1
  store i32 %319, i32* %ehselector.slot
  invoke void @_ZN5boost9unit_test17lazy_ostream_implIRA1_KcED1Ev(%"class.boost::unit_test::lazy_ostream_impl"* %ref.tmp660)
          to label %invoke.cont681 unwind label %terminate.lpad

invoke.cont681:                                   ; preds = %lpad665
  br label %ehcleanup1163

lpad702:                                          ; preds = %invoke.cont709, %invoke.cont703, %invoke.cont700
  %320 = landingpad { i8*, i32 } personality i8* bitcast (i32 (...)* @__gxx_personality_v0 to i8*)
          cleanup
  %321 = extractvalue { i8*, i32 } %320, 0
  store i8* %321, i8** %exn.slot
  %322 = extractvalue { i8*, i32 } %320, 1
  store i32 %322, i32* %ehselector.slot
  invoke void @_ZN5boost9unit_test17lazy_ostream_implIRA1_KcED1Ev(%"class.boost::unit_test::lazy_ostream_impl"* %ref.tmp697)
          to label %invoke.cont716 unwind label %terminate.lpad

invoke.cont716:                                   ; preds = %lpad702
  br label %ehcleanup1163

lpad737:                                          ; preds = %invoke.cont744, %invoke.cont738, %invoke.cont735
  %323 = landingpad { i8*, i32 } personality i8* bitcast (i32 (...)* @__gxx_personality_v0 to i8*)
          cleanup
  %324 = extractvalue { i8*, i32 } %323, 0
  store i8* %324, i8** %exn.slot
  %325 = extractvalue { i8*, i32 } %323, 1
  store i32 %325, i32* %ehselector.slot
  invoke void @_ZN5boost9unit_test17lazy_ostream_implIRA1_KcED1Ev(%"class.boost::unit_test::lazy_ostream_impl"* %ref.tmp732)
          to label %invoke.cont751 unwind label %terminate.lpad

invoke.cont751:                                   ; preds = %lpad737
  br label %ehcleanup1163

lpad772:                                          ; preds = %invoke.cont778, %invoke.cont773, %invoke.cont770
  %326 = landingpad { i8*, i32 } personality i8* bitcast (i32 (...)* @__gxx_personality_v0 to i8*)
          cleanup
  %327 = extractvalue { i8*, i32 } %326, 0
  store i8* %327, i8** %exn.slot
  %328 = extractvalue { i8*, i32 } %326, 1
  store i32 %328, i32* %ehselector.slot
  invoke void @_ZN5boost9unit_test17lazy_ostream_implIRA1_KcED1Ev(%"class.boost::unit_test::lazy_ostream_impl"* %ref.tmp767)
          to label %invoke.cont785 unwind label %terminate.lpad

invoke.cont785:                                   ; preds = %lpad772
  br label %ehcleanup1163

lpad804:                                          ; preds = %invoke.cont813, %invoke.cont808, %invoke.cont805, %invoke.cont802
  %329 = landingpad { i8*, i32 } personality i8* bitcast (i32 (...)* @__gxx_personality_v0 to i8*)
          cleanup
  %330 = extractvalue { i8*, i32 } %329, 0
  store i8* %330, i8** %exn.slot
  %331 = extractvalue { i8*, i32 } %329, 1
  store i32 %331, i32* %ehselector.slot
  br label %ehcleanup819

lpad811:                                          ; preds = %invoke.cont812, %invoke.cont809
  %332 = landingpad { i8*, i32 } personality i8* bitcast (i32 (...)* @__gxx_personality_v0 to i8*)
          cleanup
  %333 = extractvalue { i8*, i32 } %332, 0
  store i8* %333, i8** %exn.slot
  %334 = extractvalue { i8*, i32 } %332, 1
  store i32 %334, i32* %ehselector.slot
  invoke void @_ZN5boost9unit_test17lazy_ostream_implIRKNS0_13basic_cstringIKcEEED1Ev(%"class.boost::unit_test::lazy_ostream_impl.0"* %ref.tmp803)
          to label %invoke.cont817 unwind label %terminate.lpad

invoke.cont817:                                   ; preds = %lpad811
  br label %ehcleanup819

ehcleanup819:                                     ; preds = %invoke.cont817, %lpad804
  invoke void @_ZN5boost10test_tools16predicate_resultD1Ev(%"class.boost::test_tools::predicate_result"* %ref.tmp795)
          to label %invoke.cont820 unwind label %terminate.lpad

invoke.cont820:                                   ; preds = %ehcleanup819
  br label %ehcleanup1163

lpad841:                                          ; preds = %invoke.cont847, %invoke.cont842, %invoke.cont839
  %335 = landingpad { i8*, i32 } personality i8* bitcast (i32 (...)* @__gxx_personality_v0 to i8*)
          cleanup
  %336 = extractvalue { i8*, i32 } %335, 0
  store i8* %336, i8** %exn.slot
  %337 = extractvalue { i8*, i32 } %335, 1
  store i32 %337, i32* %ehselector.slot
  invoke void @_ZN5boost9unit_test17lazy_ostream_implIRA1_KcED1Ev(%"class.boost::unit_test::lazy_ostream_impl"* %ref.tmp836)
          to label %invoke.cont854 unwind label %terminate.lpad

invoke.cont854:                                   ; preds = %lpad841
  br label %ehcleanup1163

lpad864:                                          ; preds = %invoke.cont889, %invoke.cont876, %invoke.cont875, %invoke.cont873, %do.body871, %invoke.cont868, %invoke.cont867, %invoke.cont865, %invoke.cont862
  %338 = landingpad { i8*, i32 } personality i8* bitcast (i32 (...)* @__gxx_personality_v0 to i8*)
          cleanup
          catch i8* bitcast (i8** @_ZTINSt8ios_base7failureE to i8*)
  %339 = extractvalue { i8*, i32 } %338, 0
  store i8* %339, i8** %exn.slot
  %340 = extractvalue { i8*, i32 } %338, 1
  store i32 %340, i32* %ehselector.slot
  br label %catch.dispatch

lpad880:                                          ; preds = %invoke.cont887, %invoke.cont881, %invoke.cont878
  %341 = landingpad { i8*, i32 } personality i8* bitcast (i32 (...)* @__gxx_personality_v0 to i8*)
          cleanup
          catch i8* bitcast (i8** @_ZTINSt8ios_base7failureE to i8*)
  %342 = extractvalue { i8*, i32 } %341, 0
  store i8* %342, i8** %exn.slot
  %343 = extractvalue { i8*, i32 } %341, 1
  store i32 %343, i32* %ehselector.slot
  br label %ehcleanup893

lpad885:                                          ; preds = %invoke.cont886, %invoke.cont883
  %344 = landingpad { i8*, i32 } personality i8* bitcast (i32 (...)* @__gxx_personality_v0 to i8*)
          cleanup
          catch i8* bitcast (i8** @_ZTINSt8ios_base7failureE to i8*)
  %345 = extractvalue { i8*, i32 } %344, 0
  store i8* %345, i8** %exn.slot
  %346 = extractvalue { i8*, i32 } %344, 1
  store i32 %346, i32* %ehselector.slot
  invoke void @_ZN5boost9unit_test17lazy_ostream_implIRA45_KcED1Ev(%"class.boost::unit_test::lazy_ostream_impl.1"* %ref.tmp879)
          to label %invoke.cont891 unwind label %terminate.lpad

invoke.cont891:                                   ; preds = %lpad885
  br label %ehcleanup893

ehcleanup893:                                     ; preds = %invoke.cont891, %lpad880
  invoke void @_ZN5boost10test_tools16predicate_resultD1Ev(%"class.boost::test_tools::predicate_result"* %ref.tmp877)
          to label %invoke.cont894 unwind label %terminate.lpad

invoke.cont894:                                   ; preds = %ehcleanup893
  br label %catch.dispatch

catch.dispatch:                                   ; preds = %invoke.cont894, %lpad864
  %sel = load i32* %ehselector.slot
  %347 = call i32 @llvm.eh.typeid.for(i8* bitcast (i8** @_ZTINSt8ios_base7failureE to i8*)) nounwind
  %matches = icmp eq i32 %sel, %347
  br i1 %matches, label %catch, label %ehcleanup932

catch:                                            ; preds = %catch.dispatch
  %exn = load i8** %exn.slot
  %348 = call i8* @__cxa_begin_catch(i8* %exn) nounwind
  %exn.byref = bitcast i8* %348 to %"class.std::ios_base::failure"*
  store %"class.std::ios_base::failure"* %exn.byref, %"class.std::ios_base::failure"** %ex
  %349 = load %"class.std::ios_base::failure"** %ex, align 4
  invoke void @_ZN5boost9unit_test9ut_detail30ignore_unused_variable_warningINSt8ios_base7failureEEEvRKT_(%"class.std::ios_base::failure"* %349)
          to label %invoke.cont899 unwind label %lpad898

invoke.cont899:                                   ; preds = %catch
  br label %do.body900

do.body900:                                       ; preds = %do.cond924, %invoke.cont899
  %350 = load %"class.boost::unit_test::unit_test_log_t"** @_ZN5boost9unit_test12_GLOBAL__N_113unit_test_logE, align 4
  invoke void @_ZN5boost9unit_test13basic_cstringIKcEC1EPS2_j(%"class.boost::unit_test::basic_cstring"* %agg.tmp901, i8* getelementptr inbounds ([24 x i8]* @.str, i32 0, i32 0), i32 23)
          to label %invoke.cont902 unwind label %lpad898

invoke.cont902:                                   ; preds = %do.body900
  invoke void @_ZN5boost9unit_test13basic_cstringIKcEC1Ev(%"class.boost::unit_test::basic_cstring"* %agg.tmp903)
          to label %invoke.cont904 unwind label %lpad898

invoke.cont904:                                   ; preds = %invoke.cont902
  invoke void @_ZN5boost9unit_test15unit_test_log_t14set_checkpointENS0_13basic_cstringIKcEEjS4_(%"class.boost::unit_test::unit_test_log_t"* %350, %"class.boost::unit_test::basic_cstring"* byval align 4 %agg.tmp901, i32 580, %"class.boost::unit_test::basic_cstring"* byval align 4 %agg.tmp903)
          to label %invoke.cont905 unwind label %lpad898

invoke.cont905:                                   ; preds = %invoke.cont904
  invoke void @_ZN5boost10test_tools16predicate_resultC1Eb(%"class.boost::test_tools::predicate_result"* %ref.tmp906, i1 zeroext true)
          to label %invoke.cont907 unwind label %lpad898

invoke.cont907:                                   ; preds = %invoke.cont905
  %call911 = invoke %"class.boost::unit_test::lazy_ostream"* @_ZN5boost9unit_test12lazy_ostream8instanceEv()
          to label %invoke.cont910 unwind label %lpad909

invoke.cont910:                                   ; preds = %invoke.cont907
  invoke void @_ZN5boost9unit_testlsIA43_cEENS0_17lazy_ostream_implIRKT_EERKNS0_12lazy_ostreamES6_(%"class.boost::unit_test::lazy_ostream_impl.2"* sret %ref.tmp908, %"class.boost::unit_test::lazy_ostream"* %call911, [43 x i8]* @.str29)
          to label %invoke.cont912 unwind label %lpad909

invoke.cont912:                                   ; preds = %invoke.cont910
  %351 = bitcast %"class.boost::unit_test::lazy_ostream_impl.2"* %ref.tmp908 to %"class.boost::unit_test::lazy_ostream"*
  invoke void @_ZN5boost9unit_test13basic_cstringIKcEC1EPS2_j(%"class.boost::unit_test::basic_cstring"* %agg.tmp913, i8* getelementptr inbounds ([24 x i8]* @.str, i32 0, i32 0), i32 23)
          to label %invoke.cont915 unwind label %lpad914

invoke.cont915:                                   ; preds = %invoke.cont912
  %call917 = invoke zeroext i1 (%"class.boost::test_tools::predicate_result"*, %"class.boost::unit_test::lazy_ostream"*, %"class.boost::unit_test::basic_cstring"*, i32, i32, i32, i32, ...)* @_ZN5boost10test_tools9tt_detail10check_implERKNS0_16predicate_resultERKNS_9unit_test12lazy_ostreamENS5_13basic_cstringIKcEEjNS1_10tool_levelENS1_10check_typeEjz(%"class.boost::test_tools::predicate_result"* %ref.tmp906, %"class.boost::unit_test::lazy_ostream"* %351, %"class.boost::unit_test::basic_cstring"* byval align 4 %agg.tmp913, i32 580, i32 1, i32 1, i32 0)
          to label %invoke.cont916 unwind label %lpad914

invoke.cont916:                                   ; preds = %invoke.cont915
  invoke void @_ZN5boost9unit_test17lazy_ostream_implIRA43_KcED1Ev(%"class.boost::unit_test::lazy_ostream_impl.2"* %ref.tmp908)
          to label %invoke.cont918 unwind label %lpad909

invoke.cont918:                                   ; preds = %invoke.cont916
  invoke void @_ZN5boost10test_tools16predicate_resultD1Ev(%"class.boost::test_tools::predicate_result"* %ref.tmp906)
          to label %invoke.cont921 unwind label %lpad898

invoke.cont921:                                   ; preds = %invoke.cont918
  br label %do.cond924

do.cond924:                                       ; preds = %invoke.cont921
  %352 = load i8* @_ZN5boost10test_tools12_GLOBAL__N_110dummy_condE, align 1
  %tobool925 = trunc i8 %352 to i1
  br i1 %tobool925, label %do.body900, label %do.end926

do.end926:                                        ; preds = %do.cond924
  invoke void @__cxa_end_catch()
          to label %invoke.cont928 unwind label %lpad927

invoke.cont928:                                   ; preds = %do.end926
  br label %try.cont

try.cont:                                         ; preds = %invoke.cont928, %do.end897
  invoke void @_ZN5boost2io23basic_ios_iostate_saverIcSt11char_traitsIcEED1Ev(%"class.boost::io::basic_ios_iostate_saver"* %iis)
          to label %invoke.cont931 unwind label %lpad319

invoke.cont931:                                   ; preds = %try.cont
  %353 = bitcast %"class.std::basic_iostream"* %ss to i8**
  %vtable934 = load i8** %353
  %vbase.offset.ptr935 = getelementptr i8* %vtable934, i64 -12
  %354 = bitcast i8* %vbase.offset.ptr935 to i32*
  %vbase.offset936 = load i32* %354
  %355 = bitcast %"class.std::basic_iostream"* %ss to i8*
  %add.ptr937 = getelementptr inbounds i8* %355, i32 %vbase.offset936
  %356 = bitcast i8* %add.ptr937 to %"class.std::basic_ios"*
  %call939 = invoke %"class.std::basic_ostream"* @_ZNSt9basic_iosIcSt11char_traitsIcEE3tieEPSo(%"class.std::basic_ios"* %356, %"class.std::basic_ostream"* @_ZSt4clog)
          to label %invoke.cont938 unwind label %lpad319

invoke.cont938:                                   ; preds = %invoke.cont931
  br label %do.body940

do.body940:                                       ; preds = %do.cond967, %invoke.cont938
  %357 = load %"class.boost::unit_test::unit_test_log_t"** @_ZN5boost9unit_test12_GLOBAL__N_113unit_test_logE, align 4
  invoke void @_ZN5boost9unit_test13basic_cstringIKcEC1EPS2_j(%"class.boost::unit_test::basic_cstring"* %agg.tmp941, i8* getelementptr inbounds ([24 x i8]* @.str, i32 0, i32 0), i32 23)
          to label %invoke.cont942 unwind label %lpad319

invoke.cont942:                                   ; preds = %do.body940
  invoke void @_ZN5boost9unit_test13basic_cstringIKcEC1Ev(%"class.boost::unit_test::basic_cstring"* %agg.tmp943)
          to label %invoke.cont944 unwind label %lpad319

invoke.cont944:                                   ; preds = %invoke.cont942
  invoke void @_ZN5boost9unit_test15unit_test_log_t14set_checkpointENS0_13basic_cstringIKcEEjS4_(%"class.boost::unit_test::unit_test_log_t"* %357, %"class.boost::unit_test::basic_cstring"* byval align 4 %agg.tmp941, i32 584, %"class.boost::unit_test::basic_cstring"* byval align 4 %agg.tmp943)
          to label %invoke.cont945 unwind label %lpad319

invoke.cont945:                                   ; preds = %invoke.cont944
  %call949 = invoke %"class.boost::unit_test::lazy_ostream"* @_ZN5boost9unit_test12lazy_ostream8instanceEv()
          to label %invoke.cont948 unwind label %lpad319

invoke.cont948:                                   ; preds = %invoke.cont945
  invoke void @_ZN5boost9unit_testlsIA1_cEENS0_17lazy_ostream_implIRKT_EERKNS0_12lazy_ostreamES6_(%"class.boost::unit_test::lazy_ostream_impl"* sret %ref.tmp947, %"class.boost::unit_test::lazy_ostream"* %call949, [1 x i8]* @.str3)
          to label %invoke.cont950 unwind label %lpad319

invoke.cont950:                                   ; preds = %invoke.cont948
  %358 = bitcast %"class.boost::unit_test::lazy_ostream_impl"* %ref.tmp947 to %"class.boost::unit_test::lazy_ostream"*
  invoke void @_ZN5boost9unit_test13basic_cstringIKcEC1EPS2_j(%"class.boost::unit_test::basic_cstring"* %agg.tmp951, i8* getelementptr inbounds ([24 x i8]* @.str, i32 0, i32 0), i32 23)
          to label %invoke.cont953 unwind label %lpad952

invoke.cont953:                                   ; preds = %invoke.cont950
  store %"class.std::basic_ostream"* @_ZSt4clog, %"class.std::basic_ostream"** %ref.tmp954, align 4
  %359 = bitcast %"class.std::basic_iostream"* %ss to i8**
  %vtable955 = load i8** %359
  %vbase.offset.ptr956 = getelementptr i8* %vtable955, i64 -12
  %360 = bitcast i8* %vbase.offset.ptr956 to i32*
  %vbase.offset957 = load i32* %360
  %361 = bitcast %"class.std::basic_iostream"* %ss to i8*
  %add.ptr958 = getelementptr inbounds i8* %361, i32 %vbase.offset957
  %362 = bitcast i8* %add.ptr958 to %"class.std::basic_ios"*
  %call960 = invoke %"class.std::basic_ostream"* @_ZNKSt9basic_iosIcSt11char_traitsIcEE3tieEv(%"class.std::basic_ios"* %362)
          to label %invoke.cont959 unwind label %lpad952

invoke.cont959:                                   ; preds = %invoke.cont953
  store %"class.std::basic_ostream"* %call960, %"class.std::basic_ostream"** %ref.tmp961, align 4
  %call963 = invoke zeroext i1 @_ZN5boost10test_tools9tt_detail10check_frwdINS1_15equal_impl_frwdEPSoS4_EEbT_RKNS_9unit_test12lazy_ostreamENS6_13basic_cstringIKcEEjNS1_10tool_levelENS1_10check_typeERKT0_PSB_RKT1_SI_(%"class.boost::unit_test::lazy_ostream"* %358, %"class.boost::unit_test::basic_cstring"* byval align 4 %agg.tmp951, i32 584, i32 1, i32 2, %"class.std::basic_ostream"** %ref.tmp954, i8* getelementptr inbounds ([6 x i8]* @.str34, i32 0, i32 0), %"class.std::basic_ostream"** %ref.tmp961, i8* getelementptr inbounds ([9 x i8]* @.str68, i32 0, i32 0))
          to label %invoke.cont962 unwind label %lpad952

invoke.cont962:                                   ; preds = %invoke.cont959
  invoke void @_ZN5boost9unit_test17lazy_ostream_implIRA1_KcED1Ev(%"class.boost::unit_test::lazy_ostream_impl"* %ref.tmp947)
          to label %invoke.cont964 unwind label %lpad319

invoke.cont964:                                   ; preds = %invoke.cont962
  br label %do.cond967

do.cond967:                                       ; preds = %invoke.cont964
  %363 = load i8* @_ZN5boost10test_tools12_GLOBAL__N_110dummy_condE, align 1
  %tobool968 = trunc i8 %363 to i1
  br i1 %tobool968, label %do.body940, label %do.end969

do.end969:                                        ; preds = %do.cond967
  %364 = bitcast %"class.std::basic_iostream"* %ss to i8**
  %vtable970 = load i8** %364
  %vbase.offset.ptr971 = getelementptr i8* %vtable970, i64 -12
  %365 = bitcast i8* %vbase.offset.ptr971 to i32*
  %vbase.offset972 = load i32* %365
  %366 = bitcast %"class.std::basic_iostream"* %ss to i8*
  %add.ptr973 = getelementptr inbounds i8* %366, i32 %vbase.offset972
  %367 = bitcast i8* %add.ptr973 to %"class.std::basic_ios"*
  %vtable974 = load i8** bitcast (%"class.std::basic_ostream"* @_ZSt4cerr to i8**)
  %vbase.offset.ptr975 = getelementptr i8* %vtable974, i64 -12
  %368 = bitcast i8* %vbase.offset.ptr975 to i32*
  %vbase.offset976 = load i32* %368
  %add.ptr977 = getelementptr inbounds i8* bitcast (%"class.std::basic_ostream"* @_ZSt4cerr to i8*), i32 %vbase.offset976
  %369 = bitcast i8* %add.ptr977 to %"class.std::basic_ios"*
  %call979 = invoke %"class.std::basic_streambuf"* @_ZNKSt9basic_iosIcSt11char_traitsIcEE5rdbufEv(%"class.std::basic_ios"* %369)
          to label %invoke.cont978 unwind label %lpad319

invoke.cont978:                                   ; preds = %do.end969
  %call981 = invoke %"class.std::basic_streambuf"* @_ZNSt9basic_iosIcSt11char_traitsIcEE5rdbufEPSt15basic_streambufIcS1_E(%"class.std::basic_ios"* %367, %"class.std::basic_streambuf"* %call979)
          to label %invoke.cont980 unwind label %lpad319

invoke.cont980:                                   ; preds = %invoke.cont978
  br label %do.body982

do.body982:                                       ; preds = %do.cond1015, %invoke.cont980
  %370 = load %"class.boost::unit_test::unit_test_log_t"** @_ZN5boost9unit_test12_GLOBAL__N_113unit_test_logE, align 4
  invoke void @_ZN5boost9unit_test13basic_cstringIKcEC1EPS2_j(%"class.boost::unit_test::basic_cstring"* %agg.tmp983, i8* getelementptr inbounds ([24 x i8]* @.str, i32 0, i32 0), i32 23)
          to label %invoke.cont984 unwind label %lpad319

invoke.cont984:                                   ; preds = %do.body982
  invoke void @_ZN5boost9unit_test13basic_cstringIKcEC1Ev(%"class.boost::unit_test::basic_cstring"* %agg.tmp985)
          to label %invoke.cont986 unwind label %lpad319

invoke.cont986:                                   ; preds = %invoke.cont984
  invoke void @_ZN5boost9unit_test15unit_test_log_t14set_checkpointENS0_13basic_cstringIKcEEjS4_(%"class.boost::unit_test::unit_test_log_t"* %370, %"class.boost::unit_test::basic_cstring"* byval align 4 %agg.tmp983, i32 587, %"class.boost::unit_test::basic_cstring"* byval align 4 %agg.tmp985)
          to label %invoke.cont987 unwind label %lpad319

invoke.cont987:                                   ; preds = %invoke.cont986
  %call991 = invoke %"class.boost::unit_test::lazy_ostream"* @_ZN5boost9unit_test12lazy_ostream8instanceEv()
          to label %invoke.cont990 unwind label %lpad319

invoke.cont990:                                   ; preds = %invoke.cont987
  invoke void @_ZN5boost9unit_testlsIA1_cEENS0_17lazy_ostream_implIRKT_EERKNS0_12lazy_ostreamES6_(%"class.boost::unit_test::lazy_ostream_impl"* sret %ref.tmp989, %"class.boost::unit_test::lazy_ostream"* %call991, [1 x i8]* @.str3)
          to label %invoke.cont992 unwind label %lpad319

invoke.cont992:                                   ; preds = %invoke.cont990
  %371 = bitcast %"class.boost::unit_test::lazy_ostream_impl"* %ref.tmp989 to %"class.boost::unit_test::lazy_ostream"*
  invoke void @_ZN5boost9unit_test13basic_cstringIKcEC1EPS2_j(%"class.boost::unit_test::basic_cstring"* %agg.tmp993, i8* getelementptr inbounds ([24 x i8]* @.str, i32 0, i32 0), i32 23)
          to label %invoke.cont995 unwind label %lpad994

invoke.cont995:                                   ; preds = %invoke.cont992
  %vtable996 = load i8** bitcast (%"class.std::basic_ostream"* @_ZSt4cerr to i8**)
  %vbase.offset.ptr997 = getelementptr i8* %vtable996, i64 -12
  %372 = bitcast i8* %vbase.offset.ptr997 to i32*
  %vbase.offset998 = load i32* %372
  %add.ptr999 = getelementptr inbounds i8* bitcast (%"class.std::basic_ostream"* @_ZSt4cerr to i8*), i32 %vbase.offset998
  %373 = bitcast i8* %add.ptr999 to %"class.std::basic_ios"*
  %call1001 = invoke %"class.std::basic_streambuf"* @_ZNKSt9basic_iosIcSt11char_traitsIcEE5rdbufEv(%"class.std::basic_ios"* %373)
          to label %invoke.cont1000 unwind label %lpad994

invoke.cont1000:                                  ; preds = %invoke.cont995
  store %"class.std::basic_streambuf"* %call1001, %"class.std::basic_streambuf"** %ref.tmp1002, align 4
  %374 = bitcast %"class.std::basic_iostream"* %ss to i8**
  %vtable1003 = load i8** %374
  %vbase.offset.ptr1004 = getelementptr i8* %vtable1003, i64 -12
  %375 = bitcast i8* %vbase.offset.ptr1004 to i32*
  %vbase.offset1005 = load i32* %375
  %376 = bitcast %"class.std::basic_iostream"* %ss to i8*
  %add.ptr1006 = getelementptr inbounds i8* %376, i32 %vbase.offset1005
  %377 = bitcast i8* %add.ptr1006 to %"class.std::basic_ios"*
  %call1008 = invoke %"class.std::basic_streambuf"* @_ZNKSt9basic_iosIcSt11char_traitsIcEE5rdbufEv(%"class.std::basic_ios"* %377)
          to label %invoke.cont1007 unwind label %lpad994

invoke.cont1007:                                  ; preds = %invoke.cont1000
  store %"class.std::basic_streambuf"* %call1008, %"class.std::basic_streambuf"** %ref.tmp1009, align 4
  %call1011 = invoke zeroext i1 @_ZN5boost10test_tools9tt_detail10check_frwdINS1_15equal_impl_frwdEPSt15basic_streambufIcSt11char_traitsIcEES8_EEbT_RKNS_9unit_test12lazy_ostreamENSA_13basic_cstringIKcEEjNS1_10tool_levelENS1_10check_typeERKT0_PSF_RKT1_SM_(%"class.boost::unit_test::lazy_ostream"* %371, %"class.boost::unit_test::basic_cstring"* byval align 4 %agg.tmp993, i32 587, i32 1, i32 2, %"class.std::basic_streambuf"** %ref.tmp1002, i8* getelementptr inbounds ([13 x i8]* @.str69, i32 0, i32 0), %"class.std::basic_streambuf"** %ref.tmp1009, i8* getelementptr inbounds ([11 x i8]* @.str59, i32 0, i32 0))
          to label %invoke.cont1010 unwind label %lpad994

invoke.cont1010:                                  ; preds = %invoke.cont1007
  invoke void @_ZN5boost9unit_test17lazy_ostream_implIRA1_KcED1Ev(%"class.boost::unit_test::lazy_ostream_impl"* %ref.tmp989)
          to label %invoke.cont1012 unwind label %lpad319

invoke.cont1012:                                  ; preds = %invoke.cont1010
  br label %do.cond1015

do.cond1015:                                      ; preds = %invoke.cont1012
  %378 = load i8* @_ZN5boost10test_tools12_GLOBAL__N_110dummy_condE, align 1
  %tobool1016 = trunc i8 %378 to i1
  br i1 %tobool1016, label %do.body982, label %do.end1017

do.end1017:                                       ; preds = %do.cond1015
  %379 = bitcast %"class.std::basic_iostream"* %ss to i8*
  %add.ptr1018 = getelementptr inbounds i8* %379, i32 8
  %380 = bitcast i8* %add.ptr1018 to %"class.std::basic_ostream"*
  invoke void @_ZSt7setfillIcESt8_SetfillIT_ES1_(%"struct.std::_Setfill"* sret %agg.tmp1019, i8 signext 120)
          to label %invoke.cont1020 unwind label %lpad319

invoke.cont1020:                                  ; preds = %do.end1017
  %call1022 = invoke %"class.std::basic_ostream"* @_ZStlsIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_St8_SetfillIS3_E(%"class.std::basic_ostream"* %380, %"struct.std::_Setfill"* byval align 4 %agg.tmp1019)
          to label %invoke.cont1021 unwind label %lpad319

invoke.cont1021:                                  ; preds = %invoke.cont1020
  br label %do.body1023

do.body1023:                                      ; preds = %do.cond1050, %invoke.cont1021
  %381 = load %"class.boost::unit_test::unit_test_log_t"** @_ZN5boost9unit_test12_GLOBAL__N_113unit_test_logE, align 4
  invoke void @_ZN5boost9unit_test13basic_cstringIKcEC1EPS2_j(%"class.boost::unit_test::basic_cstring"* %agg.tmp1024, i8* getelementptr inbounds ([24 x i8]* @.str, i32 0, i32 0), i32 23)
          to label %invoke.cont1025 unwind label %lpad319

invoke.cont1025:                                  ; preds = %do.body1023
  invoke void @_ZN5boost9unit_test13basic_cstringIKcEC1Ev(%"class.boost::unit_test::basic_cstring"* %agg.tmp1026)
          to label %invoke.cont1027 unwind label %lpad319

invoke.cont1027:                                  ; preds = %invoke.cont1025
  invoke void @_ZN5boost9unit_test15unit_test_log_t14set_checkpointENS0_13basic_cstringIKcEEjS4_(%"class.boost::unit_test::unit_test_log_t"* %381, %"class.boost::unit_test::basic_cstring"* byval align 4 %agg.tmp1024, i32 590, %"class.boost::unit_test::basic_cstring"* byval align 4 %agg.tmp1026)
          to label %invoke.cont1028 unwind label %lpad319

invoke.cont1028:                                  ; preds = %invoke.cont1027
  %call1032 = invoke %"class.boost::unit_test::lazy_ostream"* @_ZN5boost9unit_test12lazy_ostream8instanceEv()
          to label %invoke.cont1031 unwind label %lpad319

invoke.cont1031:                                  ; preds = %invoke.cont1028
  invoke void @_ZN5boost9unit_testlsIA1_cEENS0_17lazy_ostream_implIRKT_EERKNS0_12lazy_ostreamES6_(%"class.boost::unit_test::lazy_ostream_impl"* sret %ref.tmp1030, %"class.boost::unit_test::lazy_ostream"* %call1032, [1 x i8]* @.str3)
          to label %invoke.cont1033 unwind label %lpad319

invoke.cont1033:                                  ; preds = %invoke.cont1031
  %382 = bitcast %"class.boost::unit_test::lazy_ostream_impl"* %ref.tmp1030 to %"class.boost::unit_test::lazy_ostream"*
  invoke void @_ZN5boost9unit_test13basic_cstringIKcEC1EPS2_j(%"class.boost::unit_test::basic_cstring"* %agg.tmp1034, i8* getelementptr inbounds ([24 x i8]* @.str, i32 0, i32 0), i32 23)
          to label %invoke.cont1036 unwind label %lpad1035

invoke.cont1036:                                  ; preds = %invoke.cont1033
  store i8 120, i8* %ref.tmp1037, align 1
  %383 = bitcast %"class.std::basic_iostream"* %ss to i8**
  %vtable1038 = load i8** %383
  %vbase.offset.ptr1039 = getelementptr i8* %vtable1038, i64 -12
  %384 = bitcast i8* %vbase.offset.ptr1039 to i32*
  %vbase.offset1040 = load i32* %384
  %385 = bitcast %"class.std::basic_iostream"* %ss to i8*
  %add.ptr1041 = getelementptr inbounds i8* %385, i32 %vbase.offset1040
  %386 = bitcast i8* %add.ptr1041 to %"class.std::basic_ios"*
  %call1043 = invoke signext i8 @_ZNKSt9basic_iosIcSt11char_traitsIcEE4fillEv(%"class.std::basic_ios"* %386)
          to label %invoke.cont1042 unwind label %lpad1035

invoke.cont1042:                                  ; preds = %invoke.cont1036
  store i8 %call1043, i8* %ref.tmp1044, align 1
  %call1046 = invoke zeroext i1 @_ZN5boost10test_tools9tt_detail10check_frwdINS1_15equal_impl_frwdEccEEbT_RKNS_9unit_test12lazy_ostreamENS5_13basic_cstringIKcEEjNS1_10tool_levelENS1_10check_typeERKT0_PSA_RKT1_SH_(%"class.boost::unit_test::lazy_ostream"* %382, %"class.boost::unit_test::basic_cstring"* byval align 4 %agg.tmp1034, i32 590, i32 1, i32 2, i8* %ref.tmp1037, i8* getelementptr inbounds ([4 x i8]* @.str45, i32 0, i32 0), i8* %ref.tmp1044, i8* getelementptr inbounds ([10 x i8]* @.str44, i32 0, i32 0))
          to label %invoke.cont1045 unwind label %lpad1035

invoke.cont1045:                                  ; preds = %invoke.cont1042
  invoke void @_ZN5boost9unit_test17lazy_ostream_implIRA1_KcED1Ev(%"class.boost::unit_test::lazy_ostream_impl"* %ref.tmp1030)
          to label %invoke.cont1047 unwind label %lpad319

invoke.cont1047:                                  ; preds = %invoke.cont1045
  br label %do.cond1050

do.cond1050:                                      ; preds = %invoke.cont1047
  %387 = load i8* @_ZN5boost10test_tools12_GLOBAL__N_110dummy_condE, align 1
  %tobool1051 = trunc i8 %387 to i1
  br i1 %tobool1051, label %do.body1023, label %do.end1052

do.end1052:                                       ; preds = %do.cond1050
  %388 = bitcast %"class.std::basic_iostream"* %ss to i8**
  %vtable1053 = load i8** %388
  %vbase.offset.ptr1054 = getelementptr i8* %vtable1053, i64 -12
  %389 = bitcast i8* %vbase.offset.ptr1054 to i32*
  %vbase.offset1055 = load i32* %389
  %390 = bitcast %"class.std::basic_iostream"* %ss to i8*
  %add.ptr1056 = getelementptr inbounds i8* %390, i32 %vbase.offset1055
  %391 = bitcast i8* %add.ptr1056 to %"class.std::basic_ios"*
  %call1059 = invoke %"class.std::locale"* @_ZNSt6locale7classicEv()
          to label %invoke.cont1058 unwind label %lpad319

invoke.cont1058:                                  ; preds = %do.end1052
  %call1061 = invoke noalias i8* @_Znwj(i32 12)
          to label %invoke.cont1060 unwind label %lpad319

invoke.cont1060:                                  ; preds = %invoke.cont1058
  %392 = bitcast i8* %call1061 to %class.backward_bool_names*
  invoke void @_ZN19backward_bool_namesC1Ej(%class.backward_bool_names* %392, i32 0)
          to label %invoke.cont1063 unwind label %lpad1062

invoke.cont1063:                                  ; preds = %invoke.cont1060
  invoke void @_ZNSt6localeC1I19backward_bool_namesEERKS_PT_(%"class.std::locale"* %ref.tmp1057, %"class.std::locale"* %call1059, %class.backward_bool_names* %392)
          to label %invoke.cont1065 unwind label %lpad319

invoke.cont1065:                                  ; preds = %invoke.cont1063
  invoke void @_ZNSt9basic_iosIcSt11char_traitsIcEE5imbueERKSt6locale(%"class.std::locale"* sret %agg.tmp.ensured, %"class.std::basic_ios"* %391, %"class.std::locale"* %ref.tmp1057)
          to label %invoke.cont1067 unwind label %lpad1066

invoke.cont1067:                                  ; preds = %invoke.cont1065
  call void @_ZNSt6localeD1Ev(%"class.std::locale"* %agg.tmp.ensured) nounwind
  call void @_ZNSt6localeD1Ev(%"class.std::locale"* %ref.tmp1057) nounwind
  br label %do.body1069

do.body1069:                                      ; preds = %do.cond1107, %invoke.cont1067
  %393 = load %"class.boost::unit_test::unit_test_log_t"** @_ZN5boost9unit_test12_GLOBAL__N_113unit_test_logE, align 4
  invoke void @_ZN5boost9unit_test13basic_cstringIKcEC1EPS2_j(%"class.boost::unit_test::basic_cstring"* %agg.tmp1070, i8* getelementptr inbounds ([24 x i8]* @.str, i32 0, i32 0), i32 23)
          to label %invoke.cont1071 unwind label %lpad319

invoke.cont1071:                                  ; preds = %do.body1069
  invoke void @_ZN5boost9unit_test13basic_cstringIKcEC1Ev(%"class.boost::unit_test::basic_cstring"* %agg.tmp1072)
          to label %invoke.cont1073 unwind label %lpad319

invoke.cont1073:                                  ; preds = %invoke.cont1071
  invoke void @_ZN5boost9unit_test15unit_test_log_t14set_checkpointENS0_13basic_cstringIKcEEjS4_(%"class.boost::unit_test::unit_test_log_t"* %393, %"class.boost::unit_test::basic_cstring"* byval align 4 %agg.tmp1070, i32 593, %"class.boost::unit_test::basic_cstring"* byval align 4 %agg.tmp1072)
          to label %invoke.cont1074 unwind label %lpad319

invoke.cont1074:                                  ; preds = %invoke.cont1073
  call void @_ZNSt6localeC1Ev(%"class.std::locale"* %temp.lvalue1076) nounwind
  %394 = bitcast %"class.std::basic_iostream"* %ss to i8**
  %vtable1078 = load i8** %394
  %vbase.offset.ptr1079 = getelementptr i8* %vtable1078, i64 -12
  %395 = bitcast i8* %vbase.offset.ptr1079 to i32*
  %vbase.offset1080 = load i32* %395
  %396 = bitcast %"class.std::basic_iostream"* %ss to i8*
  %add.ptr1081 = getelementptr inbounds i8* %396, i32 %vbase.offset1080
  %397 = bitcast i8* %add.ptr1081 to %"class.std::ios_base"*
  invoke void @_ZNKSt8ios_base6getlocEv(%"class.std::locale"* sret %ref.tmp1077, %"class.std::ios_base"* %397)
          to label %invoke.cont1083 unwind label %lpad1082

invoke.cont1083:                                  ; preds = %invoke.cont1074
  %call1084 = call zeroext i1 @_ZNKSt6localeneERKS_(%"class.std::locale"* %temp.lvalue1076, %"class.std::locale"* %ref.tmp1077) nounwind
  invoke void @_ZN5boost10test_tools16predicate_resultC1Eb(%"class.boost::test_tools::predicate_result"* %ref.tmp1075, i1 zeroext %call1084)
          to label %invoke.cont1086 unwind label %lpad1085

invoke.cont1086:                                  ; preds = %invoke.cont1083
  %call1090 = invoke %"class.boost::unit_test::lazy_ostream"* @_ZN5boost9unit_test12lazy_ostream8instanceEv()
          to label %invoke.cont1089 unwind label %lpad1088

invoke.cont1089:                                  ; preds = %invoke.cont1086
  invoke void @_ZN5boost9unit_test13basic_cstringIKcEC1EPS2_j(%"class.boost::unit_test::basic_cstring"* %ref.tmp1091, i8* getelementptr inbounds ([24 x i8]* @.str70, i32 0, i32 0), i32 23)
          to label %invoke.cont1092 unwind label %lpad1088

invoke.cont1092:                                  ; preds = %invoke.cont1089
  invoke void @_ZN5boost9unit_testlsINS0_13basic_cstringIKcEEEENS0_17lazy_ostream_implIRKT_EERKNS0_12lazy_ostreamES8_(%"class.boost::unit_test::lazy_ostream_impl.0"* sret %ref.tmp1087, %"class.boost::unit_test::lazy_ostream"* %call1090, %"class.boost::unit_test::basic_cstring"* %ref.tmp1091)
          to label %invoke.cont1093 unwind label %lpad1088

invoke.cont1093:                                  ; preds = %invoke.cont1092
  %398 = bitcast %"class.boost::unit_test::lazy_ostream_impl.0"* %ref.tmp1087 to %"class.boost::unit_test::lazy_ostream"*
  invoke void @_ZN5boost9unit_test13basic_cstringIKcEC1EPS2_j(%"class.boost::unit_test::basic_cstring"* %agg.tmp1094, i8* getelementptr inbounds ([24 x i8]* @.str, i32 0, i32 0), i32 23)
          to label %invoke.cont1096 unwind label %lpad1095

invoke.cont1096:                                  ; preds = %invoke.cont1093
  %call1098 = invoke zeroext i1 (%"class.boost::test_tools::predicate_result"*, %"class.boost::unit_test::lazy_ostream"*, %"class.boost::unit_test::basic_cstring"*, i32, i32, i32, i32, ...)* @_ZN5boost10test_tools9tt_detail10check_implERKNS0_16predicate_resultERKNS_9unit_test12lazy_ostreamENS5_13basic_cstringIKcEEjNS1_10tool_levelENS1_10check_typeEjz(%"class.boost::test_tools::predicate_result"* %ref.tmp1075, %"class.boost::unit_test::lazy_ostream"* %398, %"class.boost::unit_test::basic_cstring"* byval align 4 %agg.tmp1094, i32 593, i32 1, i32 0, i32 0)
          to label %invoke.cont1097 unwind label %lpad1095

invoke.cont1097:                                  ; preds = %invoke.cont1096
  invoke void @_ZN5boost9unit_test17lazy_ostream_implIRKNS0_13basic_cstringIKcEEED1Ev(%"class.boost::unit_test::lazy_ostream_impl.0"* %ref.tmp1087)
          to label %invoke.cont1099 unwind label %lpad1088

invoke.cont1099:                                  ; preds = %invoke.cont1097
  invoke void @_ZN5boost10test_tools16predicate_resultD1Ev(%"class.boost::test_tools::predicate_result"* %ref.tmp1075)
          to label %invoke.cont1102 unwind label %lpad1085

invoke.cont1102:                                  ; preds = %invoke.cont1099
  call void @_ZNSt6localeD1Ev(%"class.std::locale"* %ref.tmp1077) nounwind
  call void @_ZNSt6localeD1Ev(%"class.std::locale"* %temp.lvalue1076) nounwind
  br label %do.cond1107

do.cond1107:                                      ; preds = %invoke.cont1102
  %399 = load i8* @_ZN5boost10test_tools12_GLOBAL__N_110dummy_condE, align 1
  %tobool1108 = trunc i8 %399 to i1
  br i1 %tobool1108, label %do.body1069, label %do.end1109

do.end1109:                                       ; preds = %do.cond1107
  br label %do.body1110

do.body1110:                                      ; preds = %do.cond1159, %do.end1109
  %400 = load %"class.boost::unit_test::unit_test_log_t"** @_ZN5boost9unit_test12_GLOBAL__N_113unit_test_logE, align 4
  invoke void @_ZN5boost9unit_test13basic_cstringIKcEC1EPS2_j(%"class.boost::unit_test::basic_cstring"* %agg.tmp1111, i8* getelementptr inbounds ([24 x i8]* @.str, i32 0, i32 0), i32 23)
          to label %invoke.cont1112 unwind label %lpad319

invoke.cont1112:                                  ; preds = %do.body1110
  invoke void @_ZN5boost9unit_test13basic_cstringIKcEC1Ev(%"class.boost::unit_test::basic_cstring"* %agg.tmp1113)
          to label %invoke.cont1114 unwind label %lpad319

invoke.cont1114:                                  ; preds = %invoke.cont1112
  invoke void @_ZN5boost9unit_test15unit_test_log_t14set_checkpointENS0_13basic_cstringIKcEEjS4_(%"class.boost::unit_test::unit_test_log_t"* %400, %"class.boost::unit_test::basic_cstring"* byval align 4 %agg.tmp1111, i32 596, %"class.boost::unit_test::basic_cstring"* byval align 4 %agg.tmp1113)
          to label %invoke.cont1115 unwind label %lpad319

invoke.cont1115:                                  ; preds = %invoke.cont1114
  %401 = bitcast %"class.std::basic_iostream"* %ss to i8**
  %vtable1118 = load i8** %401
  %vbase.offset.ptr1119 = getelementptr i8* %vtable1118, i64 -12
  %402 = bitcast i8* %vbase.offset.ptr1119 to i32*
  %vbase.offset1120 = load i32* %402
  %403 = bitcast %"class.std::basic_iostream"* %ss to i8*
  %add.ptr1121 = getelementptr inbounds i8* %403, i32 %vbase.offset1120
  %404 = bitcast i8* %add.ptr1121 to %"class.std::ios_base"*
  store i1 false, i1* %cleanup.cond
  invoke void @_ZNKSt8ios_base6getlocEv(%"class.std::locale"* sret %ref.tmp1117, %"class.std::ios_base"* %404)
          to label %invoke.cont1122 unwind label %lpad319

invoke.cont1122:                                  ; preds = %invoke.cont1115
  %call1123 = call zeroext i1 @_ZSt9has_facetISt8numpunctIcEEbRKSt6locale(%"class.std::locale"* %ref.tmp1117) nounwind
  br i1 %call1123, label %land.rhs, label %land.end

land.rhs:                                         ; preds = %invoke.cont1122
  %405 = bitcast %"class.std::basic_iostream"* %ss to i8**
  %vtable1125 = load i8** %405
  %vbase.offset.ptr1126 = getelementptr i8* %vtable1125, i64 -12
  %406 = bitcast i8* %vbase.offset.ptr1126 to i32*
  %vbase.offset1127 = load i32* %406
  %407 = bitcast %"class.std::basic_iostream"* %ss to i8*
  %add.ptr1128 = getelementptr inbounds i8* %407, i32 %vbase.offset1127
  %408 = bitcast i8* %add.ptr1128 to %"class.std::ios_base"*
  invoke void @_ZNKSt8ios_base6getlocEv(%"class.std::locale"* sret %ref.tmp1124, %"class.std::ios_base"* %408)
          to label %invoke.cont1130 unwind label %lpad1129

invoke.cont1130:                                  ; preds = %land.rhs
  store i1 true, i1* %cleanup.cond
  %call1133 = invoke %"class.std::numpunct"* @_ZSt9use_facetISt8numpunctIcEERKT_RKSt6locale(%"class.std::locale"* %ref.tmp1124)
          to label %invoke.cont1132 unwind label %lpad1131

invoke.cont1132:                                  ; preds = %invoke.cont1130
  %409 = icmp eq %"class.std::numpunct"* %call1133, null
  br i1 %409, label %dynamic_cast.null, label %dynamic_cast.notnull

dynamic_cast.notnull:                             ; preds = %invoke.cont1132
  %410 = bitcast %"class.std::numpunct"* %call1133 to i8*
  %411 = call i8* @__dynamic_cast(i8* %410, i8* bitcast (i8** @_ZTISt8numpunctIcE to i8*), i8* bitcast ({ i8*, i8*, i8* }* @_ZTI19backward_bool_names to i8*), i32 -1)
  %412 = bitcast i8* %411 to %class.backward_bool_names*
  br label %dynamic_cast.end

lpad898:                                          ; preds = %invoke.cont918, %invoke.cont905, %invoke.cont904, %invoke.cont902, %do.body900, %catch
  %413 = landingpad { i8*, i32 } personality i8* bitcast (i32 (...)* @__gxx_personality_v0 to i8*)
          cleanup
  %414 = extractvalue { i8*, i32 } %413, 0
  store i8* %414, i8** %exn.slot
  %415 = extractvalue { i8*, i32 } %413, 1
  store i32 %415, i32* %ehselector.slot
  br label %ehcleanup929

lpad909:                                          ; preds = %invoke.cont916, %invoke.cont910, %invoke.cont907
  %416 = landingpad { i8*, i32 } personality i8* bitcast (i32 (...)* @__gxx_personality_v0 to i8*)
          cleanup
  %417 = extractvalue { i8*, i32 } %416, 0
  store i8* %417, i8** %exn.slot
  %418 = extractvalue { i8*, i32 } %416, 1
  store i32 %418, i32* %ehselector.slot
  br label %ehcleanup922

lpad914:                                          ; preds = %invoke.cont915, %invoke.cont912
  %419 = landingpad { i8*, i32 } personality i8* bitcast (i32 (...)* @__gxx_personality_v0 to i8*)
          cleanup
  %420 = extractvalue { i8*, i32 } %419, 0
  store i8* %420, i8** %exn.slot
  %421 = extractvalue { i8*, i32 } %419, 1
  store i32 %421, i32* %ehselector.slot
  invoke void @_ZN5boost9unit_test17lazy_ostream_implIRA43_KcED1Ev(%"class.boost::unit_test::lazy_ostream_impl.2"* %ref.tmp908)
          to label %invoke.cont920 unwind label %terminate.lpad

invoke.cont920:                                   ; preds = %lpad914
  br label %ehcleanup922

ehcleanup922:                                     ; preds = %invoke.cont920, %lpad909
  invoke void @_ZN5boost10test_tools16predicate_resultD1Ev(%"class.boost::test_tools::predicate_result"* %ref.tmp906)
          to label %invoke.cont923 unwind label %terminate.lpad

invoke.cont923:                                   ; preds = %ehcleanup922
  br label %ehcleanup929

lpad927:                                          ; preds = %do.end926
  %422 = landingpad { i8*, i32 } personality i8* bitcast (i32 (...)* @__gxx_personality_v0 to i8*)
          cleanup
  %423 = extractvalue { i8*, i32 } %422, 0
  store i8* %423, i8** %exn.slot
  %424 = extractvalue { i8*, i32 } %422, 1
  store i32 %424, i32* %ehselector.slot
  br label %ehcleanup932

ehcleanup929:                                     ; preds = %invoke.cont923, %lpad898
  invoke void @__cxa_end_catch()
          to label %invoke.cont930 unwind label %terminate.lpad

invoke.cont930:                                   ; preds = %ehcleanup929
  br label %ehcleanup932

ehcleanup932:                                     ; preds = %invoke.cont930, %lpad927, %catch.dispatch
  invoke void @_ZN5boost2io23basic_ios_iostate_saverIcSt11char_traitsIcEED1Ev(%"class.boost::io::basic_ios_iostate_saver"* %iis)
          to label %invoke.cont933 unwind label %terminate.lpad

invoke.cont933:                                   ; preds = %ehcleanup932
  br label %ehcleanup1163

lpad952:                                          ; preds = %invoke.cont959, %invoke.cont953, %invoke.cont950
  %425 = landingpad { i8*, i32 } personality i8* bitcast (i32 (...)* @__gxx_personality_v0 to i8*)
          cleanup
  %426 = extractvalue { i8*, i32 } %425, 0
  store i8* %426, i8** %exn.slot
  %427 = extractvalue { i8*, i32 } %425, 1
  store i32 %427, i32* %ehselector.slot
  invoke void @_ZN5boost9unit_test17lazy_ostream_implIRA1_KcED1Ev(%"class.boost::unit_test::lazy_ostream_impl"* %ref.tmp947)
          to label %invoke.cont966 unwind label %terminate.lpad

invoke.cont966:                                   ; preds = %lpad952
  br label %ehcleanup1163

lpad994:                                          ; preds = %invoke.cont1007, %invoke.cont1000, %invoke.cont995, %invoke.cont992
  %428 = landingpad { i8*, i32 } personality i8* bitcast (i32 (...)* @__gxx_personality_v0 to i8*)
          cleanup
  %429 = extractvalue { i8*, i32 } %428, 0
  store i8* %429, i8** %exn.slot
  %430 = extractvalue { i8*, i32 } %428, 1
  store i32 %430, i32* %ehselector.slot
  invoke void @_ZN5boost9unit_test17lazy_ostream_implIRA1_KcED1Ev(%"class.boost::unit_test::lazy_ostream_impl"* %ref.tmp989)
          to label %invoke.cont1014 unwind label %terminate.lpad

invoke.cont1014:                                  ; preds = %lpad994
  br label %ehcleanup1163

lpad1035:                                         ; preds = %invoke.cont1042, %invoke.cont1036, %invoke.cont1033
  %431 = landingpad { i8*, i32 } personality i8* bitcast (i32 (...)* @__gxx_personality_v0 to i8*)
          cleanup
  %432 = extractvalue { i8*, i32 } %431, 0
  store i8* %432, i8** %exn.slot
  %433 = extractvalue { i8*, i32 } %431, 1
  store i32 %433, i32* %ehselector.slot
  invoke void @_ZN5boost9unit_test17lazy_ostream_implIRA1_KcED1Ev(%"class.boost::unit_test::lazy_ostream_impl"* %ref.tmp1030)
          to label %invoke.cont1049 unwind label %terminate.lpad

invoke.cont1049:                                  ; preds = %lpad1035
  br label %ehcleanup1163

lpad1062:                                         ; preds = %invoke.cont1060
  %434 = landingpad { i8*, i32 } personality i8* bitcast (i32 (...)* @__gxx_personality_v0 to i8*)
          cleanup
  %435 = extractvalue { i8*, i32 } %434, 0
  store i8* %435, i8** %exn.slot
  %436 = extractvalue { i8*, i32 } %434, 1
  store i32 %436, i32* %ehselector.slot
  call void @_ZdlPv(i8* %call1061) nounwind
  br label %ehcleanup1163

lpad1066:                                         ; preds = %invoke.cont1065
  %437 = landingpad { i8*, i32 } personality i8* bitcast (i32 (...)* @__gxx_personality_v0 to i8*)
          cleanup
  %438 = extractvalue { i8*, i32 } %437, 0
  store i8* %438, i8** %exn.slot
  %439 = extractvalue { i8*, i32 } %437, 1
  store i32 %439, i32* %ehselector.slot
  call void @_ZNSt6localeD1Ev(%"class.std::locale"* %ref.tmp1057) nounwind
  br label %ehcleanup1163

lpad1082:                                         ; preds = %invoke.cont1074
  %440 = landingpad { i8*, i32 } personality i8* bitcast (i32 (...)* @__gxx_personality_v0 to i8*)
          cleanup
  %441 = extractvalue { i8*, i32 } %440, 0
  store i8* %441, i8** %exn.slot
  %442 = extractvalue { i8*, i32 } %440, 1
  store i32 %442, i32* %ehselector.slot
  br label %ehcleanup1106

lpad1085:                                         ; preds = %invoke.cont1099, %invoke.cont1083
  %443 = landingpad { i8*, i32 } personality i8* bitcast (i32 (...)* @__gxx_personality_v0 to i8*)
          cleanup
  %444 = extractvalue { i8*, i32 } %443, 0
  store i8* %444, i8** %exn.slot
  %445 = extractvalue { i8*, i32 } %443, 1
  store i32 %445, i32* %ehselector.slot
  br label %ehcleanup1105

lpad1088:                                         ; preds = %invoke.cont1097, %invoke.cont1092, %invoke.cont1089, %invoke.cont1086
  %446 = landingpad { i8*, i32 } personality i8* bitcast (i32 (...)* @__gxx_personality_v0 to i8*)
          cleanup
  %447 = extractvalue { i8*, i32 } %446, 0
  store i8* %447, i8** %exn.slot
  %448 = extractvalue { i8*, i32 } %446, 1
  store i32 %448, i32* %ehselector.slot
  br label %ehcleanup1103

lpad1095:                                         ; preds = %invoke.cont1096, %invoke.cont1093
  %449 = landingpad { i8*, i32 } personality i8* bitcast (i32 (...)* @__gxx_personality_v0 to i8*)
          cleanup
  %450 = extractvalue { i8*, i32 } %449, 0
  store i8* %450, i8** %exn.slot
  %451 = extractvalue { i8*, i32 } %449, 1
  store i32 %451, i32* %ehselector.slot
  invoke void @_ZN5boost9unit_test17lazy_ostream_implIRKNS0_13basic_cstringIKcEEED1Ev(%"class.boost::unit_test::lazy_ostream_impl.0"* %ref.tmp1087)
          to label %invoke.cont1101 unwind label %terminate.lpad

invoke.cont1101:                                  ; preds = %lpad1095
  br label %ehcleanup1103

ehcleanup1103:                                    ; preds = %invoke.cont1101, %lpad1088
  invoke void @_ZN5boost10test_tools16predicate_resultD1Ev(%"class.boost::test_tools::predicate_result"* %ref.tmp1075)
          to label %invoke.cont1104 unwind label %terminate.lpad

invoke.cont1104:                                  ; preds = %ehcleanup1103
  br label %ehcleanup1105

ehcleanup1105:                                    ; preds = %invoke.cont1104, %lpad1085
  call void @_ZNSt6localeD1Ev(%"class.std::locale"* %ref.tmp1077) nounwind
  br label %ehcleanup1106

ehcleanup1106:                                    ; preds = %ehcleanup1105, %lpad1082
  call void @_ZNSt6localeD1Ev(%"class.std::locale"* %temp.lvalue1076) nounwind
  br label %ehcleanup1163

lpad1129:                                         ; preds = %land.rhs
  %452 = landingpad { i8*, i32 } personality i8* bitcast (i32 (...)* @__gxx_personality_v0 to i8*)
          cleanup
  %453 = extractvalue { i8*, i32 } %452, 0
  store i8* %453, i8** %exn.slot
  %454 = extractvalue { i8*, i32 } %452, 1
  store i32 %454, i32* %ehselector.slot
  br label %ehcleanup1158

lpad1131:                                         ; preds = %invoke.cont1148, %land.end, %invoke.cont1130
  %455 = landingpad { i8*, i32 } personality i8* bitcast (i32 (...)* @__gxx_personality_v0 to i8*)
          cleanup
  %456 = extractvalue { i8*, i32 } %455, 0
  store i8* %456, i8** %exn.slot
  %457 = extractvalue { i8*, i32 } %455, 1
  store i32 %457, i32* %ehselector.slot
  br label %ehcleanup1154

dynamic_cast.null:                                ; preds = %invoke.cont1132
  br label %dynamic_cast.end

dynamic_cast.end:                                 ; preds = %dynamic_cast.null, %dynamic_cast.notnull
  %458 = phi %class.backward_bool_names* [ %412, %dynamic_cast.notnull ], [ null, %dynamic_cast.null ]
  %cmp1134 = icmp ne %class.backward_bool_names* null, %458
  br label %land.end

land.end:                                         ; preds = %dynamic_cast.end, %invoke.cont1122
  %459 = phi i1 [ false, %invoke.cont1122 ], [ %cmp1134, %dynamic_cast.end ]
  invoke void @_ZN5boost10test_tools16predicate_resultC1Eb(%"class.boost::test_tools::predicate_result"* %ref.tmp1116, i1 zeroext %459)
          to label %invoke.cont1135 unwind label %lpad1131

invoke.cont1135:                                  ; preds = %land.end
  %call1139 = invoke %"class.boost::unit_test::lazy_ostream"* @_ZN5boost9unit_test12lazy_ostream8instanceEv()
          to label %invoke.cont1138 unwind label %lpad1137

invoke.cont1138:                                  ; preds = %invoke.cont1135
  invoke void @_ZN5boost9unit_test13basic_cstringIKcEC1EPS2_j(%"class.boost::unit_test::basic_cstring"* %ref.tmp1140, i8* getelementptr inbounds ([127 x i8]* @.str52, i32 0, i32 0), i32 126)
          to label %invoke.cont1141 unwind label %lpad1137

invoke.cont1141:                                  ; preds = %invoke.cont1138
  invoke void @_ZN5boost9unit_testlsINS0_13basic_cstringIKcEEEENS0_17lazy_ostream_implIRKT_EERKNS0_12lazy_ostreamES8_(%"class.boost::unit_test::lazy_ostream_impl.0"* sret %ref.tmp1136, %"class.boost::unit_test::lazy_ostream"* %call1139, %"class.boost::unit_test::basic_cstring"* %ref.tmp1140)
          to label %invoke.cont1142 unwind label %lpad1137

invoke.cont1142:                                  ; preds = %invoke.cont1141
  %460 = bitcast %"class.boost::unit_test::lazy_ostream_impl.0"* %ref.tmp1136 to %"class.boost::unit_test::lazy_ostream"*
  invoke void @_ZN5boost9unit_test13basic_cstringIKcEC1EPS2_j(%"class.boost::unit_test::basic_cstring"* %agg.tmp1143, i8* getelementptr inbounds ([24 x i8]* @.str, i32 0, i32 0), i32 23)
          to label %invoke.cont1145 unwind label %lpad1144

invoke.cont1145:                                  ; preds = %invoke.cont1142
  %call1147 = invoke zeroext i1 (%"class.boost::test_tools::predicate_result"*, %"class.boost::unit_test::lazy_ostream"*, %"class.boost::unit_test::basic_cstring"*, i32, i32, i32, i32, ...)* @_ZN5boost10test_tools9tt_detail10check_implERKNS0_16predicate_resultERKNS_9unit_test12lazy_ostreamENS5_13basic_cstringIKcEEjNS1_10tool_levelENS1_10check_typeEjz(%"class.boost::test_tools::predicate_result"* %ref.tmp1116, %"class.boost::unit_test::lazy_ostream"* %460, %"class.boost::unit_test::basic_cstring"* byval align 4 %agg.tmp1143, i32 596, i32 1, i32 0, i32 0)
          to label %invoke.cont1146 unwind label %lpad1144

invoke.cont1146:                                  ; preds = %invoke.cont1145
  invoke void @_ZN5boost9unit_test17lazy_ostream_implIRKNS0_13basic_cstringIKcEEED1Ev(%"class.boost::unit_test::lazy_ostream_impl.0"* %ref.tmp1136)
          to label %invoke.cont1148 unwind label %lpad1137

invoke.cont1148:                                  ; preds = %invoke.cont1146
  invoke void @_ZN5boost10test_tools16predicate_resultD1Ev(%"class.boost::test_tools::predicate_result"* %ref.tmp1116)
          to label %invoke.cont1151 unwind label %lpad1131

invoke.cont1151:                                  ; preds = %invoke.cont1148
  %cleanup.is_active = load i1* %cleanup.cond
  br i1 %cleanup.is_active, label %cleanup.action, label %cleanup.done

cleanup.action:                                   ; preds = %invoke.cont1151
  call void @_ZNSt6localeD1Ev(%"class.std::locale"* %ref.tmp1124) nounwind
  br label %cleanup.done

cleanup.done:                                     ; preds = %cleanup.action, %invoke.cont1151
  call void @_ZNSt6localeD1Ev(%"class.std::locale"* %ref.tmp1117) nounwind
  br label %do.cond1159

do.cond1159:                                      ; preds = %cleanup.done
  %461 = load i8* @_ZN5boost10test_tools12_GLOBAL__N_110dummy_condE, align 1
  %tobool1160 = trunc i8 %461 to i1
  br i1 %tobool1160, label %do.body1110, label %do.end1161

do.end1161:                                       ; preds = %do.cond1159
  invoke void @_ZN5boost2io19basic_ios_all_saverIcSt11char_traitsIcEED1Ev(%"class.boost::io::basic_ios_all_saver"* %ias)
          to label %invoke.cont1162 unwind label %lpad1

invoke.cont1162:                                  ; preds = %do.end1161
  br label %do.body1165

do.body1165:                                      ; preds = %do.cond1194, %invoke.cont1162
  %462 = load %"class.boost::unit_test::unit_test_log_t"** @_ZN5boost9unit_test12_GLOBAL__N_113unit_test_logE, align 4
  invoke void @_ZN5boost9unit_test13basic_cstringIKcEC1EPS2_j(%"class.boost::unit_test::basic_cstring"* %agg.tmp1166, i8* getelementptr inbounds ([24 x i8]* @.str, i32 0, i32 0), i32 23)
          to label %invoke.cont1167 unwind label %lpad1

invoke.cont1167:                                  ; preds = %do.body1165
  invoke void @_ZN5boost9unit_test13basic_cstringIKcEC1Ev(%"class.boost::unit_test::basic_cstring"* %agg.tmp1168)
          to label %invoke.cont1169 unwind label %lpad1

invoke.cont1169:                                  ; preds = %invoke.cont1167
  invoke void @_ZN5boost9unit_test15unit_test_log_t14set_checkpointENS0_13basic_cstringIKcEEjS4_(%"class.boost::unit_test::unit_test_log_t"* %462, %"class.boost::unit_test::basic_cstring"* byval align 4 %agg.tmp1166, i32 599, %"class.boost::unit_test::basic_cstring"* byval align 4 %agg.tmp1168)
          to label %invoke.cont1170 unwind label %lpad1

invoke.cont1170:                                  ; preds = %invoke.cont1169
  %call1174 = invoke %"class.boost::unit_test::lazy_ostream"* @_ZN5boost9unit_test12lazy_ostream8instanceEv()
          to label %invoke.cont1173 unwind label %lpad1

invoke.cont1173:                                  ; preds = %invoke.cont1170
  invoke void @_ZN5boost9unit_testlsIA1_cEENS0_17lazy_ostream_implIRKT_EERKNS0_12lazy_ostreamES6_(%"class.boost::unit_test::lazy_ostream_impl"* sret %ref.tmp1172, %"class.boost::unit_test::lazy_ostream"* %call1174, [1 x i8]* @.str3)
          to label %invoke.cont1175 unwind label %lpad1

invoke.cont1175:                                  ; preds = %invoke.cont1173
  %463 = bitcast %"class.boost::unit_test::lazy_ostream_impl"* %ref.tmp1172 to %"class.boost::unit_test::lazy_ostream"*
  invoke void @_ZN5boost9unit_test13basic_cstringIKcEC1EPS2_j(%"class.boost::unit_test::basic_cstring"* %agg.tmp1176, i8* getelementptr inbounds ([24 x i8]* @.str, i32 0, i32 0), i32 23)
          to label %invoke.cont1178 unwind label %lpad1177

invoke.cont1178:                                  ; preds = %invoke.cont1175
  %call1180 = invoke i32 @_ZStorSt13_Ios_FmtflagsS_(i32 4096, i32 2)
          to label %invoke.cont1179 unwind label %lpad1177

invoke.cont1179:                                  ; preds = %invoke.cont1178
  store i32 %call1180, i32* %ref.tmp1181, align 4
  %464 = bitcast %"class.std::basic_iostream"* %ss to i8**
  %vtable1182 = load i8** %464
  %vbase.offset.ptr1183 = getelementptr i8* %vtable1182, i64 -12
  %465 = bitcast i8* %vbase.offset.ptr1183 to i32*
  %vbase.offset1184 = load i32* %465
  %466 = bitcast %"class.std::basic_iostream"* %ss to i8*
  %add.ptr1185 = getelementptr inbounds i8* %466, i32 %vbase.offset1184
  %467 = bitcast i8* %add.ptr1185 to %"class.std::ios_base"*
  %call1187 = invoke i32 @_ZNKSt8ios_base5flagsEv(%"class.std::ios_base"* %467)
          to label %invoke.cont1186 unwind label %lpad1177

invoke.cont1186:                                  ; preds = %invoke.cont1179
  store i32 %call1187, i32* %ref.tmp1188, align 4
  %call1190 = invoke zeroext i1 @_ZN5boost10test_tools9tt_detail10check_frwdINS1_15equal_impl_frwdESt13_Ios_FmtflagsS4_EEbT_RKNS_9unit_test12lazy_ostreamENS6_13basic_cstringIKcEEjNS1_10tool_levelENS1_10check_typeERKT0_PSB_RKT1_SI_(%"class.boost::unit_test::lazy_ostream"* %463, %"class.boost::unit_test::basic_cstring"* byval align 4 %agg.tmp1176, i32 599, i32 1, i32 2, i32* %ref.tmp1181, i8* getelementptr inbounds ([35 x i8]* @.str4, i32 0, i32 0), i32* %ref.tmp1188, i8* getelementptr inbounds ([11 x i8]* @.str5, i32 0, i32 0))
          to label %invoke.cont1189 unwind label %lpad1177

invoke.cont1189:                                  ; preds = %invoke.cont1186
  invoke void @_ZN5boost9unit_test17lazy_ostream_implIRA1_KcED1Ev(%"class.boost::unit_test::lazy_ostream_impl"* %ref.tmp1172)
          to label %invoke.cont1191 unwind label %lpad1

invoke.cont1191:                                  ; preds = %invoke.cont1189
  br label %do.cond1194

do.cond1194:                                      ; preds = %invoke.cont1191
  %468 = load i8* @_ZN5boost10test_tools12_GLOBAL__N_110dummy_condE, align 1
  %tobool1195 = trunc i8 %468 to i1
  br i1 %tobool1195, label %do.body1165, label %do.end1196

do.end1196:                                       ; preds = %do.cond1194
  br label %do.body1197

do.body1197:                                      ; preds = %do.cond1224, %do.end1196
  %469 = load %"class.boost::unit_test::unit_test_log_t"** @_ZN5boost9unit_test12_GLOBAL__N_113unit_test_logE, align 4
  invoke void @_ZN5boost9unit_test13basic_cstringIKcEC1EPS2_j(%"class.boost::unit_test::basic_cstring"* %agg.tmp1198, i8* getelementptr inbounds ([24 x i8]* @.str, i32 0, i32 0), i32 23)
          to label %invoke.cont1199 unwind label %lpad1

invoke.cont1199:                                  ; preds = %do.body1197
  invoke void @_ZN5boost9unit_test13basic_cstringIKcEC1Ev(%"class.boost::unit_test::basic_cstring"* %agg.tmp1200)
          to label %invoke.cont1201 unwind label %lpad1

invoke.cont1201:                                  ; preds = %invoke.cont1199
  invoke void @_ZN5boost9unit_test15unit_test_log_t14set_checkpointENS0_13basic_cstringIKcEEjS4_(%"class.boost::unit_test::unit_test_log_t"* %469, %"class.boost::unit_test::basic_cstring"* byval align 4 %agg.tmp1198, i32 600, %"class.boost::unit_test::basic_cstring"* byval align 4 %agg.tmp1200)
          to label %invoke.cont1202 unwind label %lpad1

invoke.cont1202:                                  ; preds = %invoke.cont1201
  %call1206 = invoke %"class.boost::unit_test::lazy_ostream"* @_ZN5boost9unit_test12lazy_ostream8instanceEv()
          to label %invoke.cont1205 unwind label %lpad1

invoke.cont1205:                                  ; preds = %invoke.cont1202
  invoke void @_ZN5boost9unit_testlsIA1_cEENS0_17lazy_ostream_implIRKT_EERKNS0_12lazy_ostreamES6_(%"class.boost::unit_test::lazy_ostream_impl"* sret %ref.tmp1204, %"class.boost::unit_test::lazy_ostream"* %call1206, [1 x i8]* @.str3)
          to label %invoke.cont1207 unwind label %lpad1

invoke.cont1207:                                  ; preds = %invoke.cont1205
  %470 = bitcast %"class.boost::unit_test::lazy_ostream_impl"* %ref.tmp1204 to %"class.boost::unit_test::lazy_ostream"*
  invoke void @_ZN5boost9unit_test13basic_cstringIKcEC1EPS2_j(%"class.boost::unit_test::basic_cstring"* %agg.tmp1208, i8* getelementptr inbounds ([24 x i8]* @.str, i32 0, i32 0), i32 23)
          to label %invoke.cont1210 unwind label %lpad1209

invoke.cont1210:                                  ; preds = %invoke.cont1207
  store i32 6, i32* %ref.tmp1211, align 4
  %471 = bitcast %"class.std::basic_iostream"* %ss to i8**
  %vtable1212 = load i8** %471
  %vbase.offset.ptr1213 = getelementptr i8* %vtable1212, i64 -12
  %472 = bitcast i8* %vbase.offset.ptr1213 to i32*
  %vbase.offset1214 = load i32* %472
  %473 = bitcast %"class.std::basic_iostream"* %ss to i8*
  %add.ptr1215 = getelementptr inbounds i8* %473, i32 %vbase.offset1214
  %474 = bitcast i8* %add.ptr1215 to %"class.std::ios_base"*
  %call1217 = invoke i32 @_ZNKSt8ios_base9precisionEv(%"class.std::ios_base"* %474)
          to label %invoke.cont1216 unwind label %lpad1209

invoke.cont1216:                                  ; preds = %invoke.cont1210
  store i32 %call1217, i32* %ref.tmp1218, align 4
  %call1220 = invoke zeroext i1 @_ZN5boost10test_tools9tt_detail10check_frwdINS1_15equal_impl_frwdEiiEEbT_RKNS_9unit_test12lazy_ostreamENS5_13basic_cstringIKcEEjNS1_10tool_levelENS1_10check_typeERKT0_PSA_RKT1_SH_(%"class.boost::unit_test::lazy_ostream"* %470, %"class.boost::unit_test::basic_cstring"* byval align 4 %agg.tmp1208, i32 600, i32 1, i32 2, i32* %ref.tmp1211, i8* getelementptr inbounds ([2 x i8]* @.str9, i32 0, i32 0), i32* %ref.tmp1218, i8* getelementptr inbounds ([15 x i8]* @.str10, i32 0, i32 0))
          to label %invoke.cont1219 unwind label %lpad1209

invoke.cont1219:                                  ; preds = %invoke.cont1216
  invoke void @_ZN5boost9unit_test17lazy_ostream_implIRA1_KcED1Ev(%"class.boost::unit_test::lazy_ostream_impl"* %ref.tmp1204)
          to label %invoke.cont1221 unwind label %lpad1

invoke.cont1221:                                  ; preds = %invoke.cont1219
  br label %do.cond1224

do.cond1224:                                      ; preds = %invoke.cont1221
  %475 = load i8* @_ZN5boost10test_tools12_GLOBAL__N_110dummy_condE, align 1
  %tobool1225 = trunc i8 %475 to i1
  br i1 %tobool1225, label %do.body1197, label %do.end1226

do.end1226:                                       ; preds = %do.cond1224
  br label %do.body1227

do.body1227:                                      ; preds = %do.cond1254, %do.end1226
  %476 = load %"class.boost::unit_test::unit_test_log_t"** @_ZN5boost9unit_test12_GLOBAL__N_113unit_test_logE, align 4
  invoke void @_ZN5boost9unit_test13basic_cstringIKcEC1EPS2_j(%"class.boost::unit_test::basic_cstring"* %agg.tmp1228, i8* getelementptr inbounds ([24 x i8]* @.str, i32 0, i32 0), i32 23)
          to label %invoke.cont1229 unwind label %lpad1

invoke.cont1229:                                  ; preds = %do.body1227
  invoke void @_ZN5boost9unit_test13basic_cstringIKcEC1Ev(%"class.boost::unit_test::basic_cstring"* %agg.tmp1230)
          to label %invoke.cont1231 unwind label %lpad1

invoke.cont1231:                                  ; preds = %invoke.cont1229
  invoke void @_ZN5boost9unit_test15unit_test_log_t14set_checkpointENS0_13basic_cstringIKcEEjS4_(%"class.boost::unit_test::unit_test_log_t"* %476, %"class.boost::unit_test::basic_cstring"* byval align 4 %agg.tmp1228, i32 601, %"class.boost::unit_test::basic_cstring"* byval align 4 %agg.tmp1230)
          to label %invoke.cont1232 unwind label %lpad1

invoke.cont1232:                                  ; preds = %invoke.cont1231
  %call1236 = invoke %"class.boost::unit_test::lazy_ostream"* @_ZN5boost9unit_test12lazy_ostream8instanceEv()
          to label %invoke.cont1235 unwind label %lpad1

invoke.cont1235:                                  ; preds = %invoke.cont1232
  invoke void @_ZN5boost9unit_testlsIA1_cEENS0_17lazy_ostream_implIRKT_EERKNS0_12lazy_ostreamES6_(%"class.boost::unit_test::lazy_ostream_impl"* sret %ref.tmp1234, %"class.boost::unit_test::lazy_ostream"* %call1236, [1 x i8]* @.str3)
          to label %invoke.cont1237 unwind label %lpad1

invoke.cont1237:                                  ; preds = %invoke.cont1235
  %477 = bitcast %"class.boost::unit_test::lazy_ostream_impl"* %ref.tmp1234 to %"class.boost::unit_test::lazy_ostream"*
  invoke void @_ZN5boost9unit_test13basic_cstringIKcEC1EPS2_j(%"class.boost::unit_test::basic_cstring"* %agg.tmp1238, i8* getelementptr inbounds ([24 x i8]* @.str, i32 0, i32 0), i32 23)
          to label %invoke.cont1240 unwind label %lpad1239

invoke.cont1240:                                  ; preds = %invoke.cont1237
  store i32 0, i32* %ref.tmp1241, align 4
  %478 = bitcast %"class.std::basic_iostream"* %ss to i8**
  %vtable1242 = load i8** %478
  %vbase.offset.ptr1243 = getelementptr i8* %vtable1242, i64 -12
  %479 = bitcast i8* %vbase.offset.ptr1243 to i32*
  %vbase.offset1244 = load i32* %479
  %480 = bitcast %"class.std::basic_iostream"* %ss to i8*
  %add.ptr1245 = getelementptr inbounds i8* %480, i32 %vbase.offset1244
  %481 = bitcast i8* %add.ptr1245 to %"class.std::ios_base"*
  %call1247 = invoke i32 @_ZNKSt8ios_base5widthEv(%"class.std::ios_base"* %481)
          to label %invoke.cont1246 unwind label %lpad1239

invoke.cont1246:                                  ; preds = %invoke.cont1240
  store i32 %call1247, i32* %ref.tmp1248, align 4
  %call1250 = invoke zeroext i1 @_ZN5boost10test_tools9tt_detail10check_frwdINS1_15equal_impl_frwdEiiEEbT_RKNS_9unit_test12lazy_ostreamENS5_13basic_cstringIKcEEjNS1_10tool_levelENS1_10check_typeERKT0_PSA_RKT1_SH_(%"class.boost::unit_test::lazy_ostream"* %477, %"class.boost::unit_test::basic_cstring"* byval align 4 %agg.tmp1238, i32 601, i32 1, i32 2, i32* %ref.tmp1241, i8* getelementptr inbounds ([2 x i8]* @.str14, i32 0, i32 0), i32* %ref.tmp1248, i8* getelementptr inbounds ([11 x i8]* @.str15, i32 0, i32 0))
          to label %invoke.cont1249 unwind label %lpad1239

invoke.cont1249:                                  ; preds = %invoke.cont1246
  invoke void @_ZN5boost9unit_test17lazy_ostream_implIRA1_KcED1Ev(%"class.boost::unit_test::lazy_ostream_impl"* %ref.tmp1234)
          to label %invoke.cont1251 unwind label %lpad1

invoke.cont1251:                                  ; preds = %invoke.cont1249
  br label %do.cond1254

do.cond1254:                                      ; preds = %invoke.cont1251
  %482 = load i8* @_ZN5boost10test_tools12_GLOBAL__N_110dummy_condE, align 1
  %tobool1255 = trunc i8 %482 to i1
  br i1 %tobool1255, label %do.body1227, label %do.end1256

do.end1256:                                       ; preds = %do.cond1254
  br label %do.body1257

do.body1257:                                      ; preds = %do.cond1283, %do.end1256
  %483 = load %"class.boost::unit_test::unit_test_log_t"** @_ZN5boost9unit_test12_GLOBAL__N_113unit_test_logE, align 4
  invoke void @_ZN5boost9unit_test13basic_cstringIKcEC1EPS2_j(%"class.boost::unit_test::basic_cstring"* %agg.tmp1258, i8* getelementptr inbounds ([24 x i8]* @.str, i32 0, i32 0), i32 23)
          to label %invoke.cont1259 unwind label %lpad1

invoke.cont1259:                                  ; preds = %do.body1257
  invoke void @_ZN5boost9unit_test13basic_cstringIKcEC1Ev(%"class.boost::unit_test::basic_cstring"* %agg.tmp1260)
          to label %invoke.cont1261 unwind label %lpad1

invoke.cont1261:                                  ; preds = %invoke.cont1259
  invoke void @_ZN5boost9unit_test15unit_test_log_t14set_checkpointENS0_13basic_cstringIKcEEjS4_(%"class.boost::unit_test::unit_test_log_t"* %483, %"class.boost::unit_test::basic_cstring"* byval align 4 %agg.tmp1258, i32 602, %"class.boost::unit_test::basic_cstring"* byval align 4 %agg.tmp1260)
          to label %invoke.cont1262 unwind label %lpad1

invoke.cont1262:                                  ; preds = %invoke.cont1261
  %call1266 = invoke %"class.boost::unit_test::lazy_ostream"* @_ZN5boost9unit_test12lazy_ostream8instanceEv()
          to label %invoke.cont1265 unwind label %lpad1

invoke.cont1265:                                  ; preds = %invoke.cont1262
  invoke void @_ZN5boost9unit_testlsIA1_cEENS0_17lazy_ostream_implIRKT_EERKNS0_12lazy_ostreamES6_(%"class.boost::unit_test::lazy_ostream_impl"* sret %ref.tmp1264, %"class.boost::unit_test::lazy_ostream"* %call1266, [1 x i8]* @.str3)
          to label %invoke.cont1267 unwind label %lpad1

invoke.cont1267:                                  ; preds = %invoke.cont1265
  %484 = bitcast %"class.boost::unit_test::lazy_ostream_impl"* %ref.tmp1264 to %"class.boost::unit_test::lazy_ostream"*
  invoke void @_ZN5boost9unit_test13basic_cstringIKcEC1EPS2_j(%"class.boost::unit_test::basic_cstring"* %agg.tmp1268, i8* getelementptr inbounds ([24 x i8]* @.str, i32 0, i32 0), i32 23)
          to label %invoke.cont1270 unwind label %lpad1269

invoke.cont1270:                                  ; preds = %invoke.cont1267
  %485 = bitcast %"class.std::basic_iostream"* %ss to i8**
  %vtable1271 = load i8** %485
  %vbase.offset.ptr1272 = getelementptr i8* %vtable1271, i64 -12
  %486 = bitcast i8* %vbase.offset.ptr1272 to i32*
  %vbase.offset1273 = load i32* %486
  %487 = bitcast %"class.std::basic_iostream"* %ss to i8*
  %add.ptr1274 = getelementptr inbounds i8* %487, i32 %vbase.offset1273
  %488 = bitcast i8* %add.ptr1274 to %"class.std::basic_ios"*
  %call1276 = invoke i32 @_ZNKSt9basic_iosIcSt11char_traitsIcEE7rdstateEv(%"class.std::basic_ios"* %488)
          to label %invoke.cont1275 unwind label %lpad1269

invoke.cont1275:                                  ; preds = %invoke.cont1270
  store i32 %call1276, i32* %ref.tmp1277, align 4
  %call1279 = invoke zeroext i1 @_ZN5boost10test_tools9tt_detail10check_frwdINS1_15equal_impl_frwdESt12_Ios_IostateS4_EEbT_RKNS_9unit_test12lazy_ostreamENS6_13basic_cstringIKcEEjNS1_10tool_levelENS1_10check_typeERKT0_PSB_RKT1_SI_(%"class.boost::unit_test::lazy_ostream"* %484, %"class.boost::unit_test::basic_cstring"* byval align 4 %agg.tmp1268, i32 602, i32 1, i32 2, i32* @_ZNSt8ios_base7goodbitE, i8* getelementptr inbounds ([18 x i8]* @.str16, i32 0, i32 0), i32* %ref.tmp1277, i8* getelementptr inbounds ([13 x i8]* @.str17, i32 0, i32 0))
          to label %invoke.cont1278 unwind label %lpad1269

invoke.cont1278:                                  ; preds = %invoke.cont1275
  invoke void @_ZN5boost9unit_test17lazy_ostream_implIRA1_KcED1Ev(%"class.boost::unit_test::lazy_ostream_impl"* %ref.tmp1264)
          to label %invoke.cont1280 unwind label %lpad1

invoke.cont1280:                                  ; preds = %invoke.cont1278
  br label %do.cond1283

do.cond1283:                                      ; preds = %invoke.cont1280
  %489 = load i8* @_ZN5boost10test_tools12_GLOBAL__N_110dummy_condE, align 1
  %tobool1284 = trunc i8 %489 to i1
  br i1 %tobool1284, label %do.body1257, label %do.end1285

do.end1285:                                       ; preds = %do.cond1283
  br label %do.body1286

do.body1286:                                      ; preds = %do.cond1318, %do.end1285
  %490 = load %"class.boost::unit_test::unit_test_log_t"** @_ZN5boost9unit_test12_GLOBAL__N_113unit_test_logE, align 4
  invoke void @_ZN5boost9unit_test13basic_cstringIKcEC1EPS2_j(%"class.boost::unit_test::basic_cstring"* %agg.tmp1287, i8* getelementptr inbounds ([24 x i8]* @.str, i32 0, i32 0), i32 23)
          to label %invoke.cont1288 unwind label %lpad1

invoke.cont1288:                                  ; preds = %do.body1286
  invoke void @_ZN5boost9unit_test13basic_cstringIKcEC1Ev(%"class.boost::unit_test::basic_cstring"* %agg.tmp1289)
          to label %invoke.cont1290 unwind label %lpad1

invoke.cont1290:                                  ; preds = %invoke.cont1288
  invoke void @_ZN5boost9unit_test15unit_test_log_t14set_checkpointENS0_13basic_cstringIKcEEjS4_(%"class.boost::unit_test::unit_test_log_t"* %490, %"class.boost::unit_test::basic_cstring"* byval align 4 %agg.tmp1287, i32 603, %"class.boost::unit_test::basic_cstring"* byval align 4 %agg.tmp1289)
          to label %invoke.cont1291 unwind label %lpad1

invoke.cont1291:                                  ; preds = %invoke.cont1290
  %491 = bitcast %"class.std::basic_iostream"* %ss to i8**
  %vtable1293 = load i8** %491
  %vbase.offset.ptr1294 = getelementptr i8* %vtable1293, i64 -12
  %492 = bitcast i8* %vbase.offset.ptr1294 to i32*
  %vbase.offset1295 = load i32* %492
  %493 = bitcast %"class.std::basic_iostream"* %ss to i8*
  %add.ptr1296 = getelementptr inbounds i8* %493, i32 %vbase.offset1295
  %494 = bitcast i8* %add.ptr1296 to %"class.std::basic_ios"*
  %call1298 = invoke zeroext i1 @_ZNKSt9basic_iosIcSt11char_traitsIcEE4goodEv(%"class.std::basic_ios"* %494)
          to label %invoke.cont1297 unwind label %lpad1

invoke.cont1297:                                  ; preds = %invoke.cont1291
  invoke void @_ZN5boost10test_tools16predicate_resultC1Eb(%"class.boost::test_tools::predicate_result"* %ref.tmp1292, i1 zeroext %call1298)
          to label %invoke.cont1299 unwind label %lpad1

invoke.cont1299:                                  ; preds = %invoke.cont1297
  %call1303 = invoke %"class.boost::unit_test::lazy_ostream"* @_ZN5boost9unit_test12lazy_ostream8instanceEv()
          to label %invoke.cont1302 unwind label %lpad1301

invoke.cont1302:                                  ; preds = %invoke.cont1299
  invoke void @_ZN5boost9unit_test13basic_cstringIKcEC1EPS2_j(%"class.boost::unit_test::basic_cstring"* %ref.tmp1304, i8* getelementptr inbounds ([10 x i8]* @.str18, i32 0, i32 0), i32 9)
          to label %invoke.cont1305 unwind label %lpad1301

invoke.cont1305:                                  ; preds = %invoke.cont1302
  invoke void @_ZN5boost9unit_testlsINS0_13basic_cstringIKcEEEENS0_17lazy_ostream_implIRKT_EERKNS0_12lazy_ostreamES8_(%"class.boost::unit_test::lazy_ostream_impl.0"* sret %ref.tmp1300, %"class.boost::unit_test::lazy_ostream"* %call1303, %"class.boost::unit_test::basic_cstring"* %ref.tmp1304)
          to label %invoke.cont1306 unwind label %lpad1301

invoke.cont1306:                                  ; preds = %invoke.cont1305
  %495 = bitcast %"class.boost::unit_test::lazy_ostream_impl.0"* %ref.tmp1300 to %"class.boost::unit_test::lazy_ostream"*
  invoke void @_ZN5boost9unit_test13basic_cstringIKcEC1EPS2_j(%"class.boost::unit_test::basic_cstring"* %agg.tmp1307, i8* getelementptr inbounds ([24 x i8]* @.str, i32 0, i32 0), i32 23)
          to label %invoke.cont1309 unwind label %lpad1308

invoke.cont1309:                                  ; preds = %invoke.cont1306
  %call1311 = invoke zeroext i1 (%"class.boost::test_tools::predicate_result"*, %"class.boost::unit_test::lazy_ostream"*, %"class.boost::unit_test::basic_cstring"*, i32, i32, i32, i32, ...)* @_ZN5boost10test_tools9tt_detail10check_implERKNS0_16predicate_resultERKNS_9unit_test12lazy_ostreamENS5_13basic_cstringIKcEEjNS1_10tool_levelENS1_10check_typeEjz(%"class.boost::test_tools::predicate_result"* %ref.tmp1292, %"class.boost::unit_test::lazy_ostream"* %495, %"class.boost::unit_test::basic_cstring"* byval align 4 %agg.tmp1307, i32 603, i32 1, i32 0, i32 0)
          to label %invoke.cont1310 unwind label %lpad1308

invoke.cont1310:                                  ; preds = %invoke.cont1309
  invoke void @_ZN5boost9unit_test17lazy_ostream_implIRKNS0_13basic_cstringIKcEEED1Ev(%"class.boost::unit_test::lazy_ostream_impl.0"* %ref.tmp1300)
          to label %invoke.cont1312 unwind label %lpad1301

invoke.cont1312:                                  ; preds = %invoke.cont1310
  invoke void @_ZN5boost10test_tools16predicate_resultD1Ev(%"class.boost::test_tools::predicate_result"* %ref.tmp1292)
          to label %invoke.cont1315 unwind label %lpad1

invoke.cont1315:                                  ; preds = %invoke.cont1312
  br label %do.cond1318

do.cond1318:                                      ; preds = %invoke.cont1315
  %496 = load i8* @_ZN5boost10test_tools12_GLOBAL__N_110dummy_condE, align 1
  %tobool1319 = trunc i8 %496 to i1
  br i1 %tobool1319, label %do.body1286, label %do.end1320

do.end1320:                                       ; preds = %do.cond1318
  br label %do.body1321

do.body1321:                                      ; preds = %do.cond1347, %do.end1320
  %497 = load %"class.boost::unit_test::unit_test_log_t"** @_ZN5boost9unit_test12_GLOBAL__N_113unit_test_logE, align 4
  invoke void @_ZN5boost9unit_test13basic_cstringIKcEC1EPS2_j(%"class.boost::unit_test::basic_cstring"* %agg.tmp1322, i8* getelementptr inbounds ([24 x i8]* @.str, i32 0, i32 0), i32 23)
          to label %invoke.cont1323 unwind label %lpad1

invoke.cont1323:                                  ; preds = %do.body1321
  invoke void @_ZN5boost9unit_test13basic_cstringIKcEC1Ev(%"class.boost::unit_test::basic_cstring"* %agg.tmp1324)
          to label %invoke.cont1325 unwind label %lpad1

invoke.cont1325:                                  ; preds = %invoke.cont1323
  invoke void @_ZN5boost9unit_test15unit_test_log_t14set_checkpointENS0_13basic_cstringIKcEEjS4_(%"class.boost::unit_test::unit_test_log_t"* %497, %"class.boost::unit_test::basic_cstring"* byval align 4 %agg.tmp1322, i32 604, %"class.boost::unit_test::basic_cstring"* byval align 4 %agg.tmp1324)
          to label %invoke.cont1326 unwind label %lpad1

invoke.cont1326:                                  ; preds = %invoke.cont1325
  %call1330 = invoke %"class.boost::unit_test::lazy_ostream"* @_ZN5boost9unit_test12lazy_ostream8instanceEv()
          to label %invoke.cont1329 unwind label %lpad1

invoke.cont1329:                                  ; preds = %invoke.cont1326
  invoke void @_ZN5boost9unit_testlsIA1_cEENS0_17lazy_ostream_implIRKT_EERKNS0_12lazy_ostreamES6_(%"class.boost::unit_test::lazy_ostream_impl"* sret %ref.tmp1328, %"class.boost::unit_test::lazy_ostream"* %call1330, [1 x i8]* @.str3)
          to label %invoke.cont1331 unwind label %lpad1

invoke.cont1331:                                  ; preds = %invoke.cont1329
  %498 = bitcast %"class.boost::unit_test::lazy_ostream_impl"* %ref.tmp1328 to %"class.boost::unit_test::lazy_ostream"*
  invoke void @_ZN5boost9unit_test13basic_cstringIKcEC1EPS2_j(%"class.boost::unit_test::basic_cstring"* %agg.tmp1332, i8* getelementptr inbounds ([24 x i8]* @.str, i32 0, i32 0), i32 23)
          to label %invoke.cont1334 unwind label %lpad1333

invoke.cont1334:                                  ; preds = %invoke.cont1331
  %499 = bitcast %"class.std::basic_iostream"* %ss to i8**
  %vtable1335 = load i8** %499
  %vbase.offset.ptr1336 = getelementptr i8* %vtable1335, i64 -12
  %500 = bitcast i8* %vbase.offset.ptr1336 to i32*
  %vbase.offset1337 = load i32* %500
  %501 = bitcast %"class.std::basic_iostream"* %ss to i8*
  %add.ptr1338 = getelementptr inbounds i8* %501, i32 %vbase.offset1337
  %502 = bitcast i8* %add.ptr1338 to %"class.std::basic_ios"*
  %call1340 = invoke i32 @_ZNKSt9basic_iosIcSt11char_traitsIcEE10exceptionsEv(%"class.std::basic_ios"* %502)
          to label %invoke.cont1339 unwind label %lpad1333

invoke.cont1339:                                  ; preds = %invoke.cont1334
  store i32 %call1340, i32* %ref.tmp1341, align 4
  %call1343 = invoke zeroext i1 @_ZN5boost10test_tools9tt_detail10check_frwdINS1_15equal_impl_frwdESt12_Ios_IostateS4_EEbT_RKNS_9unit_test12lazy_ostreamENS6_13basic_cstringIKcEEjNS1_10tool_levelENS1_10check_typeERKT0_PSB_RKT1_SI_(%"class.boost::unit_test::lazy_ostream"* %498, %"class.boost::unit_test::basic_cstring"* byval align 4 %agg.tmp1332, i32 604, i32 1, i32 2, i32* @_ZNSt8ios_base7goodbitE, i8* getelementptr inbounds ([18 x i8]* @.str16, i32 0, i32 0), i32* %ref.tmp1341, i8* getelementptr inbounds ([16 x i8]* @.str26, i32 0, i32 0))
          to label %invoke.cont1342 unwind label %lpad1333

invoke.cont1342:                                  ; preds = %invoke.cont1339
  invoke void @_ZN5boost9unit_test17lazy_ostream_implIRA1_KcED1Ev(%"class.boost::unit_test::lazy_ostream_impl"* %ref.tmp1328)
          to label %invoke.cont1344 unwind label %lpad1

invoke.cont1344:                                  ; preds = %invoke.cont1342
  br label %do.cond1347

do.cond1347:                                      ; preds = %invoke.cont1344
  %503 = load i8* @_ZN5boost10test_tools12_GLOBAL__N_110dummy_condE, align 1
  %tobool1348 = trunc i8 %503 to i1
  br i1 %tobool1348, label %do.body1321, label %do.end1349

do.end1349:                                       ; preds = %do.cond1347
  br label %do.body1350

do.body1350:                                      ; preds = %do.cond1383, %do.end1349
  %504 = load %"class.boost::unit_test::unit_test_log_t"** @_ZN5boost9unit_test12_GLOBAL__N_113unit_test_logE, align 4
  invoke void @_ZN5boost9unit_test13basic_cstringIKcEC1EPS2_j(%"class.boost::unit_test::basic_cstring"* %agg.tmp1351, i8* getelementptr inbounds ([24 x i8]* @.str, i32 0, i32 0), i32 23)
          to label %invoke.cont1352 unwind label %lpad1

invoke.cont1352:                                  ; preds = %do.body1350
  invoke void @_ZN5boost9unit_test13basic_cstringIKcEC1Ev(%"class.boost::unit_test::basic_cstring"* %agg.tmp1353)
          to label %invoke.cont1354 unwind label %lpad1

invoke.cont1354:                                  ; preds = %invoke.cont1352
  invoke void @_ZN5boost9unit_test15unit_test_log_t14set_checkpointENS0_13basic_cstringIKcEEjS4_(%"class.boost::unit_test::unit_test_log_t"* %504, %"class.boost::unit_test::basic_cstring"* byval align 4 %agg.tmp1351, i32 605, %"class.boost::unit_test::basic_cstring"* byval align 4 %agg.tmp1353)
          to label %invoke.cont1355 unwind label %lpad1

invoke.cont1355:                                  ; preds = %invoke.cont1354
  %505 = bitcast %"class.std::basic_iostream"* %ss to i8**
  %vtable1357 = load i8** %505
  %vbase.offset.ptr1358 = getelementptr i8* %vtable1357, i64 -12
  %506 = bitcast i8* %vbase.offset.ptr1358 to i32*
  %vbase.offset1359 = load i32* %506
  %507 = bitcast %"class.std::basic_iostream"* %ss to i8*
  %add.ptr1360 = getelementptr inbounds i8* %507, i32 %vbase.offset1359
  %508 = bitcast i8* %add.ptr1360 to %"class.std::basic_ios"*
  %call1362 = invoke %"class.std::basic_ostream"* @_ZNKSt9basic_iosIcSt11char_traitsIcEE3tieEv(%"class.std::basic_ios"* %508)
          to label %invoke.cont1361 unwind label %lpad1

invoke.cont1361:                                  ; preds = %invoke.cont1355
  %cmp1363 = icmp eq %"class.std::basic_ostream"* null, %call1362
  invoke void @_ZN5boost10test_tools16predicate_resultC1Eb(%"class.boost::test_tools::predicate_result"* %ref.tmp1356, i1 zeroext %cmp1363)
          to label %invoke.cont1364 unwind label %lpad1

invoke.cont1364:                                  ; preds = %invoke.cont1361
  %call1368 = invoke %"class.boost::unit_test::lazy_ostream"* @_ZN5boost9unit_test12lazy_ostream8instanceEv()
          to label %invoke.cont1367 unwind label %lpad1366

invoke.cont1367:                                  ; preds = %invoke.cont1364
  invoke void @_ZN5boost9unit_test13basic_cstringIKcEC1EPS2_j(%"class.boost::unit_test::basic_cstring"* %ref.tmp1369, i8* getelementptr inbounds ([19 x i8]* @.str63, i32 0, i32 0), i32 18)
          to label %invoke.cont1370 unwind label %lpad1366

invoke.cont1370:                                  ; preds = %invoke.cont1367
  invoke void @_ZN5boost9unit_testlsINS0_13basic_cstringIKcEEEENS0_17lazy_ostream_implIRKT_EERKNS0_12lazy_ostreamES8_(%"class.boost::unit_test::lazy_ostream_impl.0"* sret %ref.tmp1365, %"class.boost::unit_test::lazy_ostream"* %call1368, %"class.boost::unit_test::basic_cstring"* %ref.tmp1369)
          to label %invoke.cont1371 unwind label %lpad1366

invoke.cont1371:                                  ; preds = %invoke.cont1370
  %509 = bitcast %"class.boost::unit_test::lazy_ostream_impl.0"* %ref.tmp1365 to %"class.boost::unit_test::lazy_ostream"*
  invoke void @_ZN5boost9unit_test13basic_cstringIKcEC1EPS2_j(%"class.boost::unit_test::basic_cstring"* %agg.tmp1372, i8* getelementptr inbounds ([24 x i8]* @.str, i32 0, i32 0), i32 23)
          to label %invoke.cont1374 unwind label %lpad1373

invoke.cont1374:                                  ; preds = %invoke.cont1371
  %call1376 = invoke zeroext i1 (%"class.boost::test_tools::predicate_result"*, %"class.boost::unit_test::lazy_ostream"*, %"class.boost::unit_test::basic_cstring"*, i32, i32, i32, i32, ...)* @_ZN5boost10test_tools9tt_detail10check_implERKNS0_16predicate_resultERKNS_9unit_test12lazy_ostreamENS5_13basic_cstringIKcEEjNS1_10tool_levelENS1_10check_typeEjz(%"class.boost::test_tools::predicate_result"* %ref.tmp1356, %"class.boost::unit_test::lazy_ostream"* %509, %"class.boost::unit_test::basic_cstring"* byval align 4 %agg.tmp1372, i32 605, i32 1, i32 0, i32 0)
          to label %invoke.cont1375 unwind label %lpad1373

invoke.cont1375:                                  ; preds = %invoke.cont1374
  invoke void @_ZN5boost9unit_test17lazy_ostream_implIRKNS0_13basic_cstringIKcEEED1Ev(%"class.boost::unit_test::lazy_ostream_impl.0"* %ref.tmp1365)
          to label %invoke.cont1377 unwind label %lpad1366

invoke.cont1377:                                  ; preds = %invoke.cont1375
  invoke void @_ZN5boost10test_tools16predicate_resultD1Ev(%"class.boost::test_tools::predicate_result"* %ref.tmp1356)
          to label %invoke.cont1380 unwind label %lpad1

invoke.cont1380:                                  ; preds = %invoke.cont1377
  br label %do.cond1383

do.cond1383:                                      ; preds = %invoke.cont1380
  %510 = load i8* @_ZN5boost10test_tools12_GLOBAL__N_110dummy_condE, align 1
  %tobool1384 = trunc i8 %510 to i1
  br i1 %tobool1384, label %do.body1350, label %do.end1385

do.end1385:                                       ; preds = %do.cond1383
  br label %do.body1386

do.body1386:                                      ; preds = %do.cond1419, %do.end1385
  %511 = load %"class.boost::unit_test::unit_test_log_t"** @_ZN5boost9unit_test12_GLOBAL__N_113unit_test_logE, align 4
  invoke void @_ZN5boost9unit_test13basic_cstringIKcEC1EPS2_j(%"class.boost::unit_test::basic_cstring"* %agg.tmp1387, i8* getelementptr inbounds ([24 x i8]* @.str, i32 0, i32 0), i32 23)
          to label %invoke.cont1388 unwind label %lpad1

invoke.cont1388:                                  ; preds = %do.body1386
  invoke void @_ZN5boost9unit_test13basic_cstringIKcEC1Ev(%"class.boost::unit_test::basic_cstring"* %agg.tmp1389)
          to label %invoke.cont1390 unwind label %lpad1

invoke.cont1390:                                  ; preds = %invoke.cont1388
  invoke void @_ZN5boost9unit_test15unit_test_log_t14set_checkpointENS0_13basic_cstringIKcEEjS4_(%"class.boost::unit_test::unit_test_log_t"* %511, %"class.boost::unit_test::basic_cstring"* byval align 4 %agg.tmp1387, i32 606, %"class.boost::unit_test::basic_cstring"* byval align 4 %agg.tmp1389)
          to label %invoke.cont1391 unwind label %lpad1

invoke.cont1391:                                  ; preds = %invoke.cont1390
  %512 = bitcast %"class.std::basic_stringbuf"* %sb to %"class.std::basic_streambuf"*
  %513 = bitcast %"class.std::basic_iostream"* %ss to i8**
  %vtable1393 = load i8** %513
  %vbase.offset.ptr1394 = getelementptr i8* %vtable1393, i64 -12
  %514 = bitcast i8* %vbase.offset.ptr1394 to i32*
  %vbase.offset1395 = load i32* %514
  %515 = bitcast %"class.std::basic_iostream"* %ss to i8*
  %add.ptr1396 = getelementptr inbounds i8* %515, i32 %vbase.offset1395
  %516 = bitcast i8* %add.ptr1396 to %"class.std::basic_ios"*
  %call1398 = invoke %"class.std::basic_streambuf"* @_ZNKSt9basic_iosIcSt11char_traitsIcEE5rdbufEv(%"class.std::basic_ios"* %516)
          to label %invoke.cont1397 unwind label %lpad1

invoke.cont1397:                                  ; preds = %invoke.cont1391
  %cmp1399 = icmp eq %"class.std::basic_streambuf"* %512, %call1398
  invoke void @_ZN5boost10test_tools16predicate_resultC1Eb(%"class.boost::test_tools::predicate_result"* %ref.tmp1392, i1 zeroext %cmp1399)
          to label %invoke.cont1400 unwind label %lpad1

invoke.cont1400:                                  ; preds = %invoke.cont1397
  %call1404 = invoke %"class.boost::unit_test::lazy_ostream"* @_ZN5boost9unit_test12lazy_ostream8instanceEv()
          to label %invoke.cont1403 unwind label %lpad1402

invoke.cont1403:                                  ; preds = %invoke.cont1400
  invoke void @_ZN5boost9unit_test13basic_cstringIKcEC1EPS2_j(%"class.boost::unit_test::basic_cstring"* %ref.tmp1405, i8* getelementptr inbounds ([18 x i8]* @.str64, i32 0, i32 0), i32 17)
          to label %invoke.cont1406 unwind label %lpad1402

invoke.cont1406:                                  ; preds = %invoke.cont1403
  invoke void @_ZN5boost9unit_testlsINS0_13basic_cstringIKcEEEENS0_17lazy_ostream_implIRKT_EERKNS0_12lazy_ostreamES8_(%"class.boost::unit_test::lazy_ostream_impl.0"* sret %ref.tmp1401, %"class.boost::unit_test::lazy_ostream"* %call1404, %"class.boost::unit_test::basic_cstring"* %ref.tmp1405)
          to label %invoke.cont1407 unwind label %lpad1402

invoke.cont1407:                                  ; preds = %invoke.cont1406
  %517 = bitcast %"class.boost::unit_test::lazy_ostream_impl.0"* %ref.tmp1401 to %"class.boost::unit_test::lazy_ostream"*
  invoke void @_ZN5boost9unit_test13basic_cstringIKcEC1EPS2_j(%"class.boost::unit_test::basic_cstring"* %agg.tmp1408, i8* getelementptr inbounds ([24 x i8]* @.str, i32 0, i32 0), i32 23)
          to label %invoke.cont1410 unwind label %lpad1409

invoke.cont1410:                                  ; preds = %invoke.cont1407
  %call1412 = invoke zeroext i1 (%"class.boost::test_tools::predicate_result"*, %"class.boost::unit_test::lazy_ostream"*, %"class.boost::unit_test::basic_cstring"*, i32, i32, i32, i32, ...)* @_ZN5boost10test_tools9tt_detail10check_implERKNS0_16predicate_resultERKNS_9unit_test12lazy_ostreamENS5_13basic_cstringIKcEEjNS1_10tool_levelENS1_10check_typeEjz(%"class.boost::test_tools::predicate_result"* %ref.tmp1392, %"class.boost::unit_test::lazy_ostream"* %517, %"class.boost::unit_test::basic_cstring"* byval align 4 %agg.tmp1408, i32 606, i32 1, i32 0, i32 0)
          to label %invoke.cont1411 unwind label %lpad1409

invoke.cont1411:                                  ; preds = %invoke.cont1410
  invoke void @_ZN5boost9unit_test17lazy_ostream_implIRKNS0_13basic_cstringIKcEEED1Ev(%"class.boost::unit_test::lazy_ostream_impl.0"* %ref.tmp1401)
          to label %invoke.cont1413 unwind label %lpad1402

invoke.cont1413:                                  ; preds = %invoke.cont1411
  invoke void @_ZN5boost10test_tools16predicate_resultD1Ev(%"class.boost::test_tools::predicate_result"* %ref.tmp1392)
          to label %invoke.cont1416 unwind label %lpad1

invoke.cont1416:                                  ; preds = %invoke.cont1413
  br label %do.cond1419

do.cond1419:                                      ; preds = %invoke.cont1416
  %518 = load i8* @_ZN5boost10test_tools12_GLOBAL__N_110dummy_condE, align 1
  %tobool1420 = trunc i8 %518 to i1
  br i1 %tobool1420, label %do.body1386, label %do.end1421

do.end1421:                                       ; preds = %do.cond1419
  br label %do.body1422

do.body1422:                                      ; preds = %do.cond1449, %do.end1421
  %519 = load %"class.boost::unit_test::unit_test_log_t"** @_ZN5boost9unit_test12_GLOBAL__N_113unit_test_logE, align 4
  invoke void @_ZN5boost9unit_test13basic_cstringIKcEC1EPS2_j(%"class.boost::unit_test::basic_cstring"* %agg.tmp1423, i8* getelementptr inbounds ([24 x i8]* @.str, i32 0, i32 0), i32 23)
          to label %invoke.cont1424 unwind label %lpad1

invoke.cont1424:                                  ; preds = %do.body1422
  invoke void @_ZN5boost9unit_test13basic_cstringIKcEC1Ev(%"class.boost::unit_test::basic_cstring"* %agg.tmp1425)
          to label %invoke.cont1426 unwind label %lpad1

invoke.cont1426:                                  ; preds = %invoke.cont1424
  invoke void @_ZN5boost9unit_test15unit_test_log_t14set_checkpointENS0_13basic_cstringIKcEEjS4_(%"class.boost::unit_test::unit_test_log_t"* %519, %"class.boost::unit_test::basic_cstring"* byval align 4 %agg.tmp1423, i32 607, %"class.boost::unit_test::basic_cstring"* byval align 4 %agg.tmp1425)
          to label %invoke.cont1427 unwind label %lpad1

invoke.cont1427:                                  ; preds = %invoke.cont1426
  %call1431 = invoke %"class.boost::unit_test::lazy_ostream"* @_ZN5boost9unit_test12lazy_ostream8instanceEv()
          to label %invoke.cont1430 unwind label %lpad1

invoke.cont1430:                                  ; preds = %invoke.cont1427
  invoke void @_ZN5boost9unit_testlsIA1_cEENS0_17lazy_ostream_implIRKT_EERKNS0_12lazy_ostreamES6_(%"class.boost::unit_test::lazy_ostream_impl"* sret %ref.tmp1429, %"class.boost::unit_test::lazy_ostream"* %call1431, [1 x i8]* @.str3)
          to label %invoke.cont1432 unwind label %lpad1

invoke.cont1432:                                  ; preds = %invoke.cont1430
  %520 = bitcast %"class.boost::unit_test::lazy_ostream_impl"* %ref.tmp1429 to %"class.boost::unit_test::lazy_ostream"*
  invoke void @_ZN5boost9unit_test13basic_cstringIKcEC1EPS2_j(%"class.boost::unit_test::basic_cstring"* %agg.tmp1433, i8* getelementptr inbounds ([24 x i8]* @.str, i32 0, i32 0), i32 23)
          to label %invoke.cont1435 unwind label %lpad1434

invoke.cont1435:                                  ; preds = %invoke.cont1432
  store i8 32, i8* %ref.tmp1436, align 1
  %521 = bitcast %"class.std::basic_iostream"* %ss to i8**
  %vtable1437 = load i8** %521
  %vbase.offset.ptr1438 = getelementptr i8* %vtable1437, i64 -12
  %522 = bitcast i8* %vbase.offset.ptr1438 to i32*
  %vbase.offset1439 = load i32* %522
  %523 = bitcast %"class.std::basic_iostream"* %ss to i8*
  %add.ptr1440 = getelementptr inbounds i8* %523, i32 %vbase.offset1439
  %524 = bitcast i8* %add.ptr1440 to %"class.std::basic_ios"*
  %call1442 = invoke signext i8 @_ZNKSt9basic_iosIcSt11char_traitsIcEE4fillEv(%"class.std::basic_ios"* %524)
          to label %invoke.cont1441 unwind label %lpad1434

invoke.cont1441:                                  ; preds = %invoke.cont1435
  store i8 %call1442, i8* %ref.tmp1443, align 1
  %call1445 = invoke zeroext i1 @_ZN5boost10test_tools9tt_detail10check_frwdINS1_15equal_impl_frwdEccEEbT_RKNS_9unit_test12lazy_ostreamENS5_13basic_cstringIKcEEjNS1_10tool_levelENS1_10check_typeERKT0_PSA_RKT1_SH_(%"class.boost::unit_test::lazy_ostream"* %520, %"class.boost::unit_test::basic_cstring"* byval align 4 %agg.tmp1433, i32 607, i32 1, i32 2, i8* %ref.tmp1436, i8* getelementptr inbounds ([4 x i8]* @.str43, i32 0, i32 0), i8* %ref.tmp1443, i8* getelementptr inbounds ([10 x i8]* @.str44, i32 0, i32 0))
          to label %invoke.cont1444 unwind label %lpad1434

invoke.cont1444:                                  ; preds = %invoke.cont1441
  invoke void @_ZN5boost9unit_test17lazy_ostream_implIRA1_KcED1Ev(%"class.boost::unit_test::lazy_ostream_impl"* %ref.tmp1429)
          to label %invoke.cont1446 unwind label %lpad1

invoke.cont1446:                                  ; preds = %invoke.cont1444
  br label %do.cond1449

do.cond1449:                                      ; preds = %invoke.cont1446
  %525 = load i8* @_ZN5boost10test_tools12_GLOBAL__N_110dummy_condE, align 1
  %tobool1450 = trunc i8 %525 to i1
  br i1 %tobool1450, label %do.body1422, label %do.end1451

do.end1451:                                       ; preds = %do.cond1449
  br label %do.body1452

do.body1452:                                      ; preds = %do.cond1490, %do.end1451
  %526 = load %"class.boost::unit_test::unit_test_log_t"** @_ZN5boost9unit_test12_GLOBAL__N_113unit_test_logE, align 4
  invoke void @_ZN5boost9unit_test13basic_cstringIKcEC1EPS2_j(%"class.boost::unit_test::basic_cstring"* %agg.tmp1453, i8* getelementptr inbounds ([24 x i8]* @.str, i32 0, i32 0), i32 23)
          to label %invoke.cont1454 unwind label %lpad1

invoke.cont1454:                                  ; preds = %do.body1452
  invoke void @_ZN5boost9unit_test13basic_cstringIKcEC1Ev(%"class.boost::unit_test::basic_cstring"* %agg.tmp1455)
          to label %invoke.cont1456 unwind label %lpad1

invoke.cont1456:                                  ; preds = %invoke.cont1454
  invoke void @_ZN5boost9unit_test15unit_test_log_t14set_checkpointENS0_13basic_cstringIKcEEjS4_(%"class.boost::unit_test::unit_test_log_t"* %526, %"class.boost::unit_test::basic_cstring"* byval align 4 %agg.tmp1453, i32 608, %"class.boost::unit_test::basic_cstring"* byval align 4 %agg.tmp1455)
          to label %invoke.cont1457 unwind label %lpad1

invoke.cont1457:                                  ; preds = %invoke.cont1456
  call void @_ZNSt6localeC1Ev(%"class.std::locale"* %temp.lvalue1459) nounwind
  %527 = bitcast %"class.std::basic_iostream"* %ss to i8**
  %vtable1461 = load i8** %527
  %vbase.offset.ptr1462 = getelementptr i8* %vtable1461, i64 -12
  %528 = bitcast i8* %vbase.offset.ptr1462 to i32*
  %vbase.offset1463 = load i32* %528
  %529 = bitcast %"class.std::basic_iostream"* %ss to i8*
  %add.ptr1464 = getelementptr inbounds i8* %529, i32 %vbase.offset1463
  %530 = bitcast i8* %add.ptr1464 to %"class.std::ios_base"*
  invoke void @_ZNKSt8ios_base6getlocEv(%"class.std::locale"* sret %ref.tmp1460, %"class.std::ios_base"* %530)
          to label %invoke.cont1466 unwind label %lpad1465

invoke.cont1466:                                  ; preds = %invoke.cont1457
  %call1467 = call zeroext i1 @_ZNKSt6localeeqERKS_(%"class.std::locale"* %temp.lvalue1459, %"class.std::locale"* %ref.tmp1460) nounwind
  invoke void @_ZN5boost10test_tools16predicate_resultC1Eb(%"class.boost::test_tools::predicate_result"* %ref.tmp1458, i1 zeroext %call1467)
          to label %invoke.cont1469 unwind label %lpad1468

invoke.cont1469:                                  ; preds = %invoke.cont1466
  %call1473 = invoke %"class.boost::unit_test::lazy_ostream"* @_ZN5boost9unit_test12lazy_ostream8instanceEv()
          to label %invoke.cont1472 unwind label %lpad1471

invoke.cont1472:                                  ; preds = %invoke.cont1469
  invoke void @_ZN5boost9unit_test13basic_cstringIKcEC1EPS2_j(%"class.boost::unit_test::basic_cstring"* %ref.tmp1474, i8* getelementptr inbounds ([24 x i8]* @.str48, i32 0, i32 0), i32 23)
          to label %invoke.cont1475 unwind label %lpad1471

invoke.cont1475:                                  ; preds = %invoke.cont1472
  invoke void @_ZN5boost9unit_testlsINS0_13basic_cstringIKcEEEENS0_17lazy_ostream_implIRKT_EERKNS0_12lazy_ostreamES8_(%"class.boost::unit_test::lazy_ostream_impl.0"* sret %ref.tmp1470, %"class.boost::unit_test::lazy_ostream"* %call1473, %"class.boost::unit_test::basic_cstring"* %ref.tmp1474)
          to label %invoke.cont1476 unwind label %lpad1471

invoke.cont1476:                                  ; preds = %invoke.cont1475
  %531 = bitcast %"class.boost::unit_test::lazy_ostream_impl.0"* %ref.tmp1470 to %"class.boost::unit_test::lazy_ostream"*
  invoke void @_ZN5boost9unit_test13basic_cstringIKcEC1EPS2_j(%"class.boost::unit_test::basic_cstring"* %agg.tmp1477, i8* getelementptr inbounds ([24 x i8]* @.str, i32 0, i32 0), i32 23)
          to label %invoke.cont1479 unwind label %lpad1478

invoke.cont1479:                                  ; preds = %invoke.cont1476
  %call1481 = invoke zeroext i1 (%"class.boost::test_tools::predicate_result"*, %"class.boost::unit_test::lazy_ostream"*, %"class.boost::unit_test::basic_cstring"*, i32, i32, i32, i32, ...)* @_ZN5boost10test_tools9tt_detail10check_implERKNS0_16predicate_resultERKNS_9unit_test12lazy_ostreamENS5_13basic_cstringIKcEEjNS1_10tool_levelENS1_10check_typeEjz(%"class.boost::test_tools::predicate_result"* %ref.tmp1458, %"class.boost::unit_test::lazy_ostream"* %531, %"class.boost::unit_test::basic_cstring"* byval align 4 %agg.tmp1477, i32 608, i32 1, i32 0, i32 0)
          to label %invoke.cont1480 unwind label %lpad1478

invoke.cont1480:                                  ; preds = %invoke.cont1479
  invoke void @_ZN5boost9unit_test17lazy_ostream_implIRKNS0_13basic_cstringIKcEEED1Ev(%"class.boost::unit_test::lazy_ostream_impl.0"* %ref.tmp1470)
          to label %invoke.cont1482 unwind label %lpad1471

invoke.cont1482:                                  ; preds = %invoke.cont1480
  invoke void @_ZN5boost10test_tools16predicate_resultD1Ev(%"class.boost::test_tools::predicate_result"* %ref.tmp1458)
          to label %invoke.cont1485 unwind label %lpad1468

invoke.cont1485:                                  ; preds = %invoke.cont1482
  call void @_ZNSt6localeD1Ev(%"class.std::locale"* %ref.tmp1460) nounwind
  call void @_ZNSt6localeD1Ev(%"class.std::locale"* %temp.lvalue1459) nounwind
  br label %do.cond1490

do.cond1490:                                      ; preds = %invoke.cont1485
  %532 = load i8* @_ZN5boost10test_tools12_GLOBAL__N_110dummy_condE, align 1
  %tobool1491 = trunc i8 %532 to i1
  br i1 %tobool1491, label %do.body1452, label %do.end1492

do.end1492:                                       ; preds = %do.cond1490
  invoke void @_ZNSdD1Ev(%"class.std::basic_iostream"* %ss)
          to label %invoke.cont1493 unwind label %lpad

invoke.cont1493:                                  ; preds = %do.end1492
  call void @_ZNSt15basic_stringbufIcSt11char_traitsIcESaIcEED1Ev(%"class.std::basic_stringbuf"* %sb)
  ret void

lpad1137:                                         ; preds = %invoke.cont1146, %invoke.cont1141, %invoke.cont1138, %invoke.cont1135
  %533 = landingpad { i8*, i32 } personality i8* bitcast (i32 (...)* @__gxx_personality_v0 to i8*)
          cleanup
  %534 = extractvalue { i8*, i32 } %533, 0
  store i8* %534, i8** %exn.slot
  %535 = extractvalue { i8*, i32 } %533, 1
  store i32 %535, i32* %ehselector.slot
  br label %ehcleanup1152

lpad1144:                                         ; preds = %invoke.cont1145, %invoke.cont1142
  %536 = landingpad { i8*, i32 } personality i8* bitcast (i32 (...)* @__gxx_personality_v0 to i8*)
          cleanup
  %537 = extractvalue { i8*, i32 } %536, 0
  store i8* %537, i8** %exn.slot
  %538 = extractvalue { i8*, i32 } %536, 1
  store i32 %538, i32* %ehselector.slot
  invoke void @_ZN5boost9unit_test17lazy_ostream_implIRKNS0_13basic_cstringIKcEEED1Ev(%"class.boost::unit_test::lazy_ostream_impl.0"* %ref.tmp1136)
          to label %invoke.cont1150 unwind label %terminate.lpad

invoke.cont1150:                                  ; preds = %lpad1144
  br label %ehcleanup1152

ehcleanup1152:                                    ; preds = %invoke.cont1150, %lpad1137
  invoke void @_ZN5boost10test_tools16predicate_resultD1Ev(%"class.boost::test_tools::predicate_result"* %ref.tmp1116)
          to label %invoke.cont1153 unwind label %terminate.lpad

invoke.cont1153:                                  ; preds = %ehcleanup1152
  br label %ehcleanup1154

ehcleanup1154:                                    ; preds = %invoke.cont1153, %lpad1131
  %cleanup.is_active1155 = load i1* %cleanup.cond
  br i1 %cleanup.is_active1155, label %cleanup.action1156, label %cleanup.done1157

cleanup.action1156:                               ; preds = %ehcleanup1154
  call void @_ZNSt6localeD1Ev(%"class.std::locale"* %ref.tmp1124) nounwind
  br label %cleanup.done1157

cleanup.done1157:                                 ; preds = %cleanup.action1156, %ehcleanup1154
  br label %ehcleanup1158

ehcleanup1158:                                    ; preds = %cleanup.done1157, %lpad1129
  call void @_ZNSt6localeD1Ev(%"class.std::locale"* %ref.tmp1117) nounwind
  br label %ehcleanup1163

ehcleanup1163:                                    ; preds = %ehcleanup1158, %ehcleanup1106, %lpad1066, %lpad1062, %invoke.cont1049, %invoke.cont1014, %invoke.cont966, %invoke.cont933, %invoke.cont854, %invoke.cont820, %invoke.cont785, %invoke.cont751, %invoke.cont716, %invoke.cont681, %ehcleanup642, %invoke.cont601, %invoke.cont571, %invoke.cont535, %invoke.cont499, %invoke.cont470, %invoke.cont435, %invoke.cont406, %invoke.cont376, %invoke.cont346, %lpad319
  invoke void @_ZN5boost2io19basic_ios_all_saverIcSt11char_traitsIcEED1Ev(%"class.boost::io::basic_ios_all_saver"* %ias)
          to label %invoke.cont1164 unwind label %terminate.lpad

invoke.cont1164:                                  ; preds = %ehcleanup1163
  br label %ehcleanup1494

lpad1177:                                         ; preds = %invoke.cont1186, %invoke.cont1179, %invoke.cont1178, %invoke.cont1175
  %539 = landingpad { i8*, i32 } personality i8* bitcast (i32 (...)* @__gxx_personality_v0 to i8*)
          cleanup
  %540 = extractvalue { i8*, i32 } %539, 0
  store i8* %540, i8** %exn.slot
  %541 = extractvalue { i8*, i32 } %539, 1
  store i32 %541, i32* %ehselector.slot
  invoke void @_ZN5boost9unit_test17lazy_ostream_implIRA1_KcED1Ev(%"class.boost::unit_test::lazy_ostream_impl"* %ref.tmp1172)
          to label %invoke.cont1193 unwind label %terminate.lpad

invoke.cont1193:                                  ; preds = %lpad1177
  br label %ehcleanup1494

lpad1209:                                         ; preds = %invoke.cont1216, %invoke.cont1210, %invoke.cont1207
  %542 = landingpad { i8*, i32 } personality i8* bitcast (i32 (...)* @__gxx_personality_v0 to i8*)
          cleanup
  %543 = extractvalue { i8*, i32 } %542, 0
  store i8* %543, i8** %exn.slot
  %544 = extractvalue { i8*, i32 } %542, 1
  store i32 %544, i32* %ehselector.slot
  invoke void @_ZN5boost9unit_test17lazy_ostream_implIRA1_KcED1Ev(%"class.boost::unit_test::lazy_ostream_impl"* %ref.tmp1204)
          to label %invoke.cont1223 unwind label %terminate.lpad

invoke.cont1223:                                  ; preds = %lpad1209
  br label %ehcleanup1494

lpad1239:                                         ; preds = %invoke.cont1246, %invoke.cont1240, %invoke.cont1237
  %545 = landingpad { i8*, i32 } personality i8* bitcast (i32 (...)* @__gxx_personality_v0 to i8*)
          cleanup
  %546 = extractvalue { i8*, i32 } %545, 0
  store i8* %546, i8** %exn.slot
  %547 = extractvalue { i8*, i32 } %545, 1
  store i32 %547, i32* %ehselector.slot
  invoke void @_ZN5boost9unit_test17lazy_ostream_implIRA1_KcED1Ev(%"class.boost::unit_test::lazy_ostream_impl"* %ref.tmp1234)
          to label %invoke.cont1253 unwind label %terminate.lpad

invoke.cont1253:                                  ; preds = %lpad1239
  br label %ehcleanup1494

lpad1269:                                         ; preds = %invoke.cont1275, %invoke.cont1270, %invoke.cont1267
  %548 = landingpad { i8*, i32 } personality i8* bitcast (i32 (...)* @__gxx_personality_v0 to i8*)
          cleanup
  %549 = extractvalue { i8*, i32 } %548, 0
  store i8* %549, i8** %exn.slot
  %550 = extractvalue { i8*, i32 } %548, 1
  store i32 %550, i32* %ehselector.slot
  invoke void @_ZN5boost9unit_test17lazy_ostream_implIRA1_KcED1Ev(%"class.boost::unit_test::lazy_ostream_impl"* %ref.tmp1264)
          to label %invoke.cont1282 unwind label %terminate.lpad

invoke.cont1282:                                  ; preds = %lpad1269
  br label %ehcleanup1494

lpad1301:                                         ; preds = %invoke.cont1310, %invoke.cont1305, %invoke.cont1302, %invoke.cont1299
  %551 = landingpad { i8*, i32 } personality i8* bitcast (i32 (...)* @__gxx_personality_v0 to i8*)
          cleanup
  %552 = extractvalue { i8*, i32 } %551, 0
  store i8* %552, i8** %exn.slot
  %553 = extractvalue { i8*, i32 } %551, 1
  store i32 %553, i32* %ehselector.slot
  br label %ehcleanup1316

lpad1308:                                         ; preds = %invoke.cont1309, %invoke.cont1306
  %554 = landingpad { i8*, i32 } personality i8* bitcast (i32 (...)* @__gxx_personality_v0 to i8*)
          cleanup
  %555 = extractvalue { i8*, i32 } %554, 0
  store i8* %555, i8** %exn.slot
  %556 = extractvalue { i8*, i32 } %554, 1
  store i32 %556, i32* %ehselector.slot
  invoke void @_ZN5boost9unit_test17lazy_ostream_implIRKNS0_13basic_cstringIKcEEED1Ev(%"class.boost::unit_test::lazy_ostream_impl.0"* %ref.tmp1300)
          to label %invoke.cont1314 unwind label %terminate.lpad

invoke.cont1314:                                  ; preds = %lpad1308
  br label %ehcleanup1316

ehcleanup1316:                                    ; preds = %invoke.cont1314, %lpad1301
  invoke void @_ZN5boost10test_tools16predicate_resultD1Ev(%"class.boost::test_tools::predicate_result"* %ref.tmp1292)
          to label %invoke.cont1317 unwind label %terminate.lpad

invoke.cont1317:                                  ; preds = %ehcleanup1316
  br label %ehcleanup1494

lpad1333:                                         ; preds = %invoke.cont1339, %invoke.cont1334, %invoke.cont1331
  %557 = landingpad { i8*, i32 } personality i8* bitcast (i32 (...)* @__gxx_personality_v0 to i8*)
          cleanup
  %558 = extractvalue { i8*, i32 } %557, 0
  store i8* %558, i8** %exn.slot
  %559 = extractvalue { i8*, i32 } %557, 1
  store i32 %559, i32* %ehselector.slot
  invoke void @_ZN5boost9unit_test17lazy_ostream_implIRA1_KcED1Ev(%"class.boost::unit_test::lazy_ostream_impl"* %ref.tmp1328)
          to label %invoke.cont1346 unwind label %terminate.lpad

invoke.cont1346:                                  ; preds = %lpad1333
  br label %ehcleanup1494

lpad1366:                                         ; preds = %invoke.cont1375, %invoke.cont1370, %invoke.cont1367, %invoke.cont1364
  %560 = landingpad { i8*, i32 } personality i8* bitcast (i32 (...)* @__gxx_personality_v0 to i8*)
          cleanup
  %561 = extractvalue { i8*, i32 } %560, 0
  store i8* %561, i8** %exn.slot
  %562 = extractvalue { i8*, i32 } %560, 1
  store i32 %562, i32* %ehselector.slot
  br label %ehcleanup1381

lpad1373:                                         ; preds = %invoke.cont1374, %invoke.cont1371
  %563 = landingpad { i8*, i32 } personality i8* bitcast (i32 (...)* @__gxx_personality_v0 to i8*)
          cleanup
  %564 = extractvalue { i8*, i32 } %563, 0
  store i8* %564, i8** %exn.slot
  %565 = extractvalue { i8*, i32 } %563, 1
  store i32 %565, i32* %ehselector.slot
  invoke void @_ZN5boost9unit_test17lazy_ostream_implIRKNS0_13basic_cstringIKcEEED1Ev(%"class.boost::unit_test::lazy_ostream_impl.0"* %ref.tmp1365)
          to label %invoke.cont1379 unwind label %terminate.lpad

invoke.cont1379:                                  ; preds = %lpad1373
  br label %ehcleanup1381

ehcleanup1381:                                    ; preds = %invoke.cont1379, %lpad1366
  invoke void @_ZN5boost10test_tools16predicate_resultD1Ev(%"class.boost::test_tools::predicate_result"* %ref.tmp1356)
          to label %invoke.cont1382 unwind label %terminate.lpad

invoke.cont1382:                                  ; preds = %ehcleanup1381
  br label %ehcleanup1494

lpad1402:                                         ; preds = %invoke.cont1411, %invoke.cont1406, %invoke.cont1403, %invoke.cont1400
  %566 = landingpad { i8*, i32 } personality i8* bitcast (i32 (...)* @__gxx_personality_v0 to i8*)
          cleanup
  %567 = extractvalue { i8*, i32 } %566, 0
  store i8* %567, i8** %exn.slot
  %568 = extractvalue { i8*, i32 } %566, 1
  store i32 %568, i32* %ehselector.slot
  br label %ehcleanup1417

lpad1409:                                         ; preds = %invoke.cont1410, %invoke.cont1407
  %569 = landingpad { i8*, i32 } personality i8* bitcast (i32 (...)* @__gxx_personality_v0 to i8*)
          cleanup
  %570 = extractvalue { i8*, i32 } %569, 0
  store i8* %570, i8** %exn.slot
  %571 = extractvalue { i8*, i32 } %569, 1
  store i32 %571, i32* %ehselector.slot
  invoke void @_ZN5boost9unit_test17lazy_ostream_implIRKNS0_13basic_cstringIKcEEED1Ev(%"class.boost::unit_test::lazy_ostream_impl.0"* %ref.tmp1401)
          to label %invoke.cont1415 unwind label %terminate.lpad

invoke.cont1415:                                  ; preds = %lpad1409
  br label %ehcleanup1417

ehcleanup1417:                                    ; preds = %invoke.cont1415, %lpad1402
  invoke void @_ZN5boost10test_tools16predicate_resultD1Ev(%"class.boost::test_tools::predicate_result"* %ref.tmp1392)
          to label %invoke.cont1418 unwind label %terminate.lpad

invoke.cont1418:                                  ; preds = %ehcleanup1417
  br label %ehcleanup1494

lpad1434:                                         ; preds = %invoke.cont1441, %invoke.cont1435, %invoke.cont1432
  %572 = landingpad { i8*, i32 } personality i8* bitcast (i32 (...)* @__gxx_personality_v0 to i8*)
          cleanup
  %573 = extractvalue { i8*, i32 } %572, 0
  store i8* %573, i8** %exn.slot
  %574 = extractvalue { i8*, i32 } %572, 1
  store i32 %574, i32* %ehselector.slot
  invoke void @_ZN5boost9unit_test17lazy_ostream_implIRA1_KcED1Ev(%"class.boost::unit_test::lazy_ostream_impl"* %ref.tmp1429)
          to label %invoke.cont1448 unwind label %terminate.lpad

invoke.cont1448:                                  ; preds = %lpad1434
  br label %ehcleanup1494

lpad1465:                                         ; preds = %invoke.cont1457
  %575 = landingpad { i8*, i32 } personality i8* bitcast (i32 (...)* @__gxx_personality_v0 to i8*)
          cleanup
  %576 = extractvalue { i8*, i32 } %575, 0
  store i8* %576, i8** %exn.slot
  %577 = extractvalue { i8*, i32 } %575, 1
  store i32 %577, i32* %ehselector.slot
  br label %ehcleanup1489

lpad1468:                                         ; preds = %invoke.cont1482, %invoke.cont1466
  %578 = landingpad { i8*, i32 } personality i8* bitcast (i32 (...)* @__gxx_personality_v0 to i8*)
          cleanup
  %579 = extractvalue { i8*, i32 } %578, 0
  store i8* %579, i8** %exn.slot
  %580 = extractvalue { i8*, i32 } %578, 1
  store i32 %580, i32* %ehselector.slot
  br label %ehcleanup1488

lpad1471:                                         ; preds = %invoke.cont1480, %invoke.cont1475, %invoke.cont1472, %invoke.cont1469
  %581 = landingpad { i8*, i32 } personality i8* bitcast (i32 (...)* @__gxx_personality_v0 to i8*)
          cleanup
  %582 = extractvalue { i8*, i32 } %581, 0
  store i8* %582, i8** %exn.slot
  %583 = extractvalue { i8*, i32 } %581, 1
  store i32 %583, i32* %ehselector.slot
  br label %ehcleanup1486

lpad1478:                                         ; preds = %invoke.cont1479, %invoke.cont1476
  %584 = landingpad { i8*, i32 } personality i8* bitcast (i32 (...)* @__gxx_personality_v0 to i8*)
          cleanup
  %585 = extractvalue { i8*, i32 } %584, 0
  store i8* %585, i8** %exn.slot
  %586 = extractvalue { i8*, i32 } %584, 1
  store i32 %586, i32* %ehselector.slot
  invoke void @_ZN5boost9unit_test17lazy_ostream_implIRKNS0_13basic_cstringIKcEEED1Ev(%"class.boost::unit_test::lazy_ostream_impl.0"* %ref.tmp1470)
          to label %invoke.cont1484 unwind label %terminate.lpad

invoke.cont1484:                                  ; preds = %lpad1478
  br label %ehcleanup1486

ehcleanup1486:                                    ; preds = %invoke.cont1484, %lpad1471
  invoke void @_ZN5boost10test_tools16predicate_resultD1Ev(%"class.boost::test_tools::predicate_result"* %ref.tmp1458)
          to label %invoke.cont1487 unwind label %terminate.lpad

invoke.cont1487:                                  ; preds = %ehcleanup1486
  br label %ehcleanup1488

ehcleanup1488:                                    ; preds = %invoke.cont1487, %lpad1468
  call void @_ZNSt6localeD1Ev(%"class.std::locale"* %ref.tmp1460) nounwind
  br label %ehcleanup1489

ehcleanup1489:                                    ; preds = %ehcleanup1488, %lpad1465
  call void @_ZNSt6localeD1Ev(%"class.std::locale"* %temp.lvalue1459) nounwind
  br label %ehcleanup1494

ehcleanup1494:                                    ; preds = %ehcleanup1489, %invoke.cont1448, %invoke.cont1418, %invoke.cont1382, %invoke.cont1346, %invoke.cont1317, %invoke.cont1282, %invoke.cont1253, %invoke.cont1223, %invoke.cont1193, %invoke.cont1164, %ehcleanup308, %invoke.cont268, %invoke.cont238, %invoke.cont202, %invoke.cont167, %invoke.cont138, %invoke.cont105, %invoke.cont77, %invoke.cont48, %invoke.cont22, %lpad1
  invoke void @_ZNSdD1Ev(%"class.std::basic_iostream"* %ss)
          to label %invoke.cont1495 unwind label %terminate.lpad

invoke.cont1495:                                  ; preds = %ehcleanup1494
  br label %ehcleanup1496

ehcleanup1496:                                    ; preds = %invoke.cont1495, %lpad
  invoke void @_ZNSt15basic_stringbufIcSt11char_traitsIcESaIcEED1Ev(%"class.std::basic_stringbuf"* %sb)
          to label %invoke.cont1497 unwind label %terminate.lpad

invoke.cont1497:                                  ; preds = %ehcleanup1496
  br label %eh.resume

eh.resume:                                        ; preds = %invoke.cont1497
  %exn1498 = load i8** %exn.slot
  %sel1499 = load i32* %ehselector.slot
  %lpad.val = insertvalue { i8*, i32 } undef, i8* %exn1498, 0
  %lpad.val1500 = insertvalue { i8*, i32 } %lpad.val, i32 %sel1499, 1
  resume { i8*, i32 } %lpad.val1500

terminate.lpad:                                   ; preds = %ehcleanup1496, %ehcleanup1494, %ehcleanup1486, %lpad1478, %lpad1434, %ehcleanup1417, %lpad1409, %ehcleanup1381, %lpad1373, %lpad1333, %ehcleanup1316, %lpad1308, %lpad1269, %lpad1239, %lpad1209, %lpad1177, %ehcleanup1163, %ehcleanup1152, %lpad1144, %ehcleanup1103, %lpad1095, %lpad1035, %lpad994, %lpad952, %ehcleanup932, %ehcleanup929, %ehcleanup922, %lpad914, %ehcleanup893, %lpad885, %lpad841, %ehcleanup819, %lpad811, %lpad772, %lpad737, %lpad702, %lpad665, %ehcleanup639, %lpad631, %lpad587, %ehcleanup570, %lpad562, %ehcleanup534, %lpad526, %lpad486, %ehcleanup469, %lpad461, %lpad422, %lpad392, %lpad362, %lpad330, %ehcleanup305, %lpad297, %lpad254, %ehcleanup237, %lpad229, %ehcleanup201, %lpad193, %lpad154, %ehcleanup, %lpad131, %lpad93, %lpad64, %lpad35, %lpad11
  %587 = landingpad { i8*, i32 } personality i8* bitcast (i32 (...)* @__gxx_personality_v0 to i8*)
          catch i8* null
  call void @_ZSt9terminatev() noreturn nounwind
  unreachable
}

define linkonce_odr void @_ZN5boost2io19basic_ios_all_saverIcSt11char_traitsIcEEC1ERSt9basic_iosIcS3_E(%"class.boost::io::basic_ios_all_saver"* %this, %"class.std::basic_ios"* %s) unnamed_addr align 2 {
entry:
  %this.addr = alloca %"class.boost::io::basic_ios_all_saver"*, align 4
  %s.addr = alloca %"class.std::basic_ios"*, align 4
  store %"class.boost::io::basic_ios_all_saver"* %this, %"class.boost::io::basic_ios_all_saver"** %this.addr, align 4
  store %"class.std::basic_ios"* %s, %"class.std::basic_ios"** %s.addr, align 4
  %this1 = load %"class.boost::io::basic_ios_all_saver"** %this.addr
  %0 = load %"class.std::basic_ios"** %s.addr
  call void @_ZN5boost2io19basic_ios_all_saverIcSt11char_traitsIcEEC2ERSt9basic_iosIcS3_E(%"class.boost::io::basic_ios_all_saver"* %this1, %"class.std::basic_ios"* %0)
  ret void
}

define linkonce_odr %"class.std::ios_base"* @_ZSt3octRSt8ios_base(%"class.std::ios_base"* %__base) inlinehint {
entry:
  %__base.addr = alloca %"class.std::ios_base"*, align 4
  store %"class.std::ios_base"* %__base, %"class.std::ios_base"** %__base.addr, align 4
  %0 = load %"class.std::ios_base"** %__base.addr, align 4
  %call = call i32 @_ZNSt8ios_base4setfESt13_Ios_FmtflagsS0_(%"class.std::ios_base"* %0, i32 64, i32 74)
  %1 = load %"class.std::ios_base"** %__base.addr, align 4
  ret %"class.std::ios_base"* %1
}

define linkonce_odr %"class.std::ios_base"* @_ZSt7showposRSt8ios_base(%"class.std::ios_base"* %__base) inlinehint {
entry:
  %__base.addr = alloca %"class.std::ios_base"*, align 4
  store %"class.std::ios_base"* %__base, %"class.std::ios_base"** %__base.addr, align 4
  %0 = load %"class.std::ios_base"** %__base.addr, align 4
  %call = call i32 @_ZNSt8ios_base4setfESt13_Ios_Fmtflags(%"class.std::ios_base"* %0, i32 2048)
  %1 = load %"class.std::ios_base"** %__base.addr, align 4
  ret %"class.std::ios_base"* %1
}

define linkonce_odr zeroext i1 @_ZN5boost10test_tools9tt_detail10check_frwdINS1_15equal_impl_frwdEPSt15basic_streambufIcSt11char_traitsIcEES8_EEbT_RKNS_9unit_test12lazy_ostreamENSA_13basic_cstringIKcEEjNS1_10tool_levelENS1_10check_typeERKT0_PSF_RKT1_SM_(%"class.boost::unit_test::lazy_ostream"* %check_descr, %"class.boost::unit_test::basic_cstring"* byval align 4 %file_name, i32 %line_num, i32 %tl, i32 %ct, %"class.std::basic_streambuf"** %arg0, i8* %arg0_descr, %"class.std::basic_streambuf"** %arg1, i8* %arg1_descr) inlinehint {
entry:
  %P = alloca %"struct.boost::test_tools::tt_detail::equal_impl_frwd", align 1
  %check_descr.addr = alloca %"class.boost::unit_test::lazy_ostream"*, align 4
  %line_num.addr = alloca i32, align 4
  %tl.addr = alloca i32, align 4
  %ct.addr = alloca i32, align 4
  %arg0.addr = alloca %"class.std::basic_streambuf"**, align 4
  %arg0_descr.addr = alloca i8*, align 4
  %arg1.addr = alloca %"class.std::basic_streambuf"**, align 4
  %arg1_descr.addr = alloca i8*, align 4
  %ref.tmp = alloca %"class.boost::test_tools::predicate_result", align 4
  %agg.tmp = alloca %"class.boost::unit_test::basic_cstring", align 4
  %ref.tmp1 = alloca %"class.boost::unit_test::lazy_ostream_impl.23", align 4
  %exn.slot = alloca i8*
  %ehselector.slot = alloca i32
  %ref.tmp2 = alloca %"struct.boost::test_tools::tt_detail::print_helper_t", align 4
  %ref.tmp5 = alloca %"class.boost::unit_test::lazy_ostream_impl.23", align 4
  %ref.tmp9 = alloca %"struct.boost::test_tools::tt_detail::print_helper_t", align 4
  store %"class.boost::unit_test::lazy_ostream"* %check_descr, %"class.boost::unit_test::lazy_ostream"** %check_descr.addr, align 4
  store i32 %line_num, i32* %line_num.addr, align 4
  store i32 %tl, i32* %tl.addr, align 4
  store i32 %ct, i32* %ct.addr, align 4
  store %"class.std::basic_streambuf"** %arg0, %"class.std::basic_streambuf"*** %arg0.addr, align 4
  store i8* %arg0_descr, i8** %arg0_descr.addr, align 4
  store %"class.std::basic_streambuf"** %arg1, %"class.std::basic_streambuf"*** %arg1.addr, align 4
  store i8* %arg1_descr, i8** %arg1_descr.addr, align 4
  %0 = load %"class.std::basic_streambuf"*** %arg0.addr, align 4
  %1 = load %"class.std::basic_streambuf"*** %arg1.addr, align 4
  call void @_ZNK5boost10test_tools9tt_detail15equal_impl_frwdclIPSt15basic_streambufIcSt11char_traitsIcEES8_EENS0_16predicate_resultERKT_RKT0_(%"class.boost::test_tools::predicate_result"* sret %ref.tmp, %"struct.boost::test_tools::tt_detail::equal_impl_frwd"* %P, %"class.std::basic_streambuf"** %0, %"class.std::basic_streambuf"** %1)
  %2 = load %"class.boost::unit_test::lazy_ostream"** %check_descr.addr, align 4
  %3 = bitcast %"class.boost::unit_test::basic_cstring"* %agg.tmp to i8*
  %4 = bitcast %"class.boost::unit_test::basic_cstring"* %file_name to i8*
  call void @llvm.memcpy.p0i8.p0i8.i32(i8* %3, i8* %4, i32 8, i32 4, i1 false)
  %5 = load i32* %line_num.addr, align 4
  %6 = load i32* %tl.addr, align 4
  %7 = load i32* %ct.addr, align 4
  %8 = load i8** %arg0_descr.addr, align 4
  %call = invoke %"class.boost::unit_test::lazy_ostream"* @_ZN5boost9unit_test12lazy_ostream8instanceEv()
          to label %invoke.cont unwind label %lpad

invoke.cont:                                      ; preds = %entry
  %9 = load %"class.std::basic_streambuf"*** %arg0.addr, align 4
  invoke void @_ZN5boost10test_tools9tt_detail12print_helperIPSt15basic_streambufIcSt11char_traitsIcEEEENS1_14print_helper_tIT_EERKS9_(%"struct.boost::test_tools::tt_detail::print_helper_t"* sret %ref.tmp2, %"class.std::basic_streambuf"** %9)
          to label %invoke.cont3 unwind label %lpad

invoke.cont3:                                     ; preds = %invoke.cont
  invoke void @_ZN5boost9unit_testlsINS_10test_tools9tt_detail14print_helper_tIPSt15basic_streambufIcSt11char_traitsIcEEEEEENS0_17lazy_ostream_implIRKT_EERKNS0_12lazy_ostreamESE_(%"class.boost::unit_test::lazy_ostream_impl.23"* sret %ref.tmp1, %"class.boost::unit_test::lazy_ostream"* %call, %"struct.boost::test_tools::tt_detail::print_helper_t"* %ref.tmp2)
          to label %invoke.cont4 unwind label %lpad

invoke.cont4:                                     ; preds = %invoke.cont3
  %10 = bitcast %"class.boost::unit_test::lazy_ostream_impl.23"* %ref.tmp1 to %"class.boost::unit_test::lazy_ostream"*
  %11 = load i8** %arg1_descr.addr, align 4
  %call8 = invoke %"class.boost::unit_test::lazy_ostream"* @_ZN5boost9unit_test12lazy_ostream8instanceEv()
          to label %invoke.cont7 unwind label %lpad6

invoke.cont7:                                     ; preds = %invoke.cont4
  %12 = load %"class.std::basic_streambuf"*** %arg1.addr, align 4
  invoke void @_ZN5boost10test_tools9tt_detail12print_helperIPSt15basic_streambufIcSt11char_traitsIcEEEENS1_14print_helper_tIT_EERKS9_(%"struct.boost::test_tools::tt_detail::print_helper_t"* sret %ref.tmp9, %"class.std::basic_streambuf"** %12)
          to label %invoke.cont10 unwind label %lpad6

invoke.cont10:                                    ; preds = %invoke.cont7
  invoke void @_ZN5boost9unit_testlsINS_10test_tools9tt_detail14print_helper_tIPSt15basic_streambufIcSt11char_traitsIcEEEEEENS0_17lazy_ostream_implIRKT_EERKNS0_12lazy_ostreamESE_(%"class.boost::unit_test::lazy_ostream_impl.23"* sret %ref.tmp5, %"class.boost::unit_test::lazy_ostream"* %call8, %"struct.boost::test_tools::tt_detail::print_helper_t"* %ref.tmp9)
          to label %invoke.cont11 unwind label %lpad6

invoke.cont11:                                    ; preds = %invoke.cont10
  %13 = bitcast %"class.boost::unit_test::lazy_ostream_impl.23"* %ref.tmp5 to %"class.boost::unit_test::lazy_ostream"*
  %call14 = invoke zeroext i1 (%"class.boost::test_tools::predicate_result"*, %"class.boost::unit_test::lazy_ostream"*, %"class.boost::unit_test::basic_cstring"*, i32, i32, i32, i32, ...)* @_ZN5boost10test_tools9tt_detail10check_implERKNS0_16predicate_resultERKNS_9unit_test12lazy_ostreamENS5_13basic_cstringIKcEEjNS1_10tool_levelENS1_10check_typeEjz(%"class.boost::test_tools::predicate_result"* %ref.tmp, %"class.boost::unit_test::lazy_ostream"* %2, %"class.boost::unit_test::basic_cstring"* byval align 4 %agg.tmp, i32 %5, i32 %6, i32 %7, i32 2, i8* %8, %"class.boost::unit_test::lazy_ostream"* %10, i8* %11, %"class.boost::unit_test::lazy_ostream"* %13)
          to label %invoke.cont13 unwind label %lpad12

invoke.cont13:                                    ; preds = %invoke.cont11
  invoke void @_ZN5boost9unit_test17lazy_ostream_implIRKNS_10test_tools9tt_detail14print_helper_tIPSt15basic_streambufIcSt11char_traitsIcEEEEED1Ev(%"class.boost::unit_test::lazy_ostream_impl.23"* %ref.tmp5)
          to label %invoke.cont15 unwind label %lpad6

invoke.cont15:                                    ; preds = %invoke.cont13
  invoke void @_ZN5boost9unit_test17lazy_ostream_implIRKNS_10test_tools9tt_detail14print_helper_tIPSt15basic_streambufIcSt11char_traitsIcEEEEED1Ev(%"class.boost::unit_test::lazy_ostream_impl.23"* %ref.tmp1)
          to label %invoke.cont17 unwind label %lpad

invoke.cont17:                                    ; preds = %invoke.cont15
  call void @_ZN5boost10test_tools16predicate_resultD1Ev(%"class.boost::test_tools::predicate_result"* %ref.tmp)
  ret i1 %call14

lpad:                                             ; preds = %invoke.cont15, %invoke.cont3, %invoke.cont, %entry
  %14 = landingpad { i8*, i32 } personality i8* bitcast (i32 (...)* @__gxx_personality_v0 to i8*)
          cleanup
  %15 = extractvalue { i8*, i32 } %14, 0
  store i8* %15, i8** %exn.slot
  %16 = extractvalue { i8*, i32 } %14, 1
  store i32 %16, i32* %ehselector.slot
  br label %ehcleanup19

lpad6:                                            ; preds = %invoke.cont13, %invoke.cont10, %invoke.cont7, %invoke.cont4
  %17 = landingpad { i8*, i32 } personality i8* bitcast (i32 (...)* @__gxx_personality_v0 to i8*)
          cleanup
  %18 = extractvalue { i8*, i32 } %17, 0
  store i8* %18, i8** %exn.slot
  %19 = extractvalue { i8*, i32 } %17, 1
  store i32 %19, i32* %ehselector.slot
  br label %ehcleanup

lpad12:                                           ; preds = %invoke.cont11
  %20 = landingpad { i8*, i32 } personality i8* bitcast (i32 (...)* @__gxx_personality_v0 to i8*)
          cleanup
  %21 = extractvalue { i8*, i32 } %20, 0
  store i8* %21, i8** %exn.slot
  %22 = extractvalue { i8*, i32 } %20, 1
  store i32 %22, i32* %ehselector.slot
  invoke void @_ZN5boost9unit_test17lazy_ostream_implIRKNS_10test_tools9tt_detail14print_helper_tIPSt15basic_streambufIcSt11char_traitsIcEEEEED1Ev(%"class.boost::unit_test::lazy_ostream_impl.23"* %ref.tmp5)
          to label %invoke.cont16 unwind label %terminate.lpad

invoke.cont16:                                    ; preds = %lpad12
  br label %ehcleanup

ehcleanup:                                        ; preds = %invoke.cont16, %lpad6
  invoke void @_ZN5boost9unit_test17lazy_ostream_implIRKNS_10test_tools9tt_detail14print_helper_tIPSt15basic_streambufIcSt11char_traitsIcEEEEED1Ev(%"class.boost::unit_test::lazy_ostream_impl.23"* %ref.tmp1)
          to label %invoke.cont18 unwind label %terminate.lpad

invoke.cont18:                                    ; preds = %ehcleanup
  br label %ehcleanup19

ehcleanup19:                                      ; preds = %invoke.cont18, %lpad
  invoke void @_ZN5boost10test_tools16predicate_resultD1Ev(%"class.boost::test_tools::predicate_result"* %ref.tmp)
          to label %invoke.cont20 unwind label %terminate.lpad

invoke.cont20:                                    ; preds = %ehcleanup19
  br label %eh.resume

eh.resume:                                        ; preds = %invoke.cont20
  %exn = load i8** %exn.slot
  %sel = load i32* %ehselector.slot
  %lpad.val = insertvalue { i8*, i32 } undef, i8* %exn, 0
  %lpad.val21 = insertvalue { i8*, i32 } %lpad.val, i32 %sel, 1
  resume { i8*, i32 } %lpad.val21

terminate.lpad:                                   ; preds = %ehcleanup19, %ehcleanup, %lpad12
  %23 = landingpad { i8*, i32 } personality i8* bitcast (i32 (...)* @__gxx_personality_v0 to i8*)
          catch i8* null
  call void @_ZSt9terminatev() noreturn nounwind
  unreachable
}

declare %"class.std::basic_ostream"* @_ZStlsIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_St8_SetfillIS3_E(%"class.std::basic_ostream"*, %"struct.std::_Setfill"* byval align 4)

define linkonce_odr void @_ZSt7setfillIcESt8_SetfillIT_ES1_(%"struct.std::_Setfill"* noalias sret %agg.result, i8 signext %__c) nounwind inlinehint {
entry:
  %__c.addr = alloca i8, align 1
  store i8 %__c, i8* %__c.addr, align 1
  %_M_c = getelementptr inbounds %"struct.std::_Setfill"* %agg.result, i32 0, i32 0
  %0 = load i8* %__c.addr, align 1
  store i8 %0, i8* %_M_c, align 1
  ret void
}

define linkonce_odr void @_ZN5boost2io19basic_ios_all_saverIcSt11char_traitsIcEED1Ev(%"class.boost::io::basic_ios_all_saver"* %this) unnamed_addr align 2 {
entry:
  %this.addr = alloca %"class.boost::io::basic_ios_all_saver"*, align 4
  store %"class.boost::io::basic_ios_all_saver"* %this, %"class.boost::io::basic_ios_all_saver"** %this.addr, align 4
  %this1 = load %"class.boost::io::basic_ios_all_saver"** %this.addr
  call void @_ZN5boost2io19basic_ios_all_saverIcSt11char_traitsIcEED2Ev(%"class.boost::io::basic_ios_all_saver"* %this1)
  ret void
}

define void @_Z24ios_word_saver_unit_testv() {
entry:
  %ss = alloca %"class.std::basic_stringstream", align 4
  %agg.tmp = alloca %"class.boost::unit_test::basic_cstring", align 4
  %exn.slot = alloca i8*
  %ehselector.slot = alloca i32
  %agg.tmp1 = alloca %"class.boost::unit_test::basic_cstring", align 4
  %agg.tmp4 = alloca %"struct.boost::test_tools::tt_detail::equal_impl_frwd", align 1
  %ref.tmp = alloca %"class.boost::unit_test::lazy_ostream_impl", align 4
  %agg.tmp8 = alloca %"class.boost::unit_test::basic_cstring", align 4
  %ref.tmp11 = alloca i32, align 4
  %agg.tmp19 = alloca %"class.boost::unit_test::basic_cstring", align 4
  %agg.tmp21 = alloca %"class.boost::unit_test::basic_cstring", align 4
  %ref.tmp24 = alloca %"class.boost::test_tools::predicate_result", align 4
  %ref.tmp32 = alloca %"class.boost::unit_test::lazy_ostream_impl.0", align 4
  %ref.tmp36 = alloca %"class.boost::unit_test::basic_cstring", align 4
  %agg.tmp39 = alloca %"class.boost::unit_test::basic_cstring", align 4
  %iaws = alloca %"class.boost::io::ios_all_word_saver", align 4
  %agg.tmp57 = alloca %"class.boost::unit_test::basic_cstring", align 4
  %agg.tmp60 = alloca %"class.boost::unit_test::basic_cstring", align 4
  %agg.tmp63 = alloca %"struct.boost::test_tools::tt_detail::equal_impl_frwd", align 1
  %ref.tmp64 = alloca %"class.boost::unit_test::lazy_ostream_impl", align 4
  %agg.tmp68 = alloca %"class.boost::unit_test::basic_cstring", align 4
  %ref.tmp71 = alloca i32, align 4
  %agg.tmp87 = alloca %"class.boost::unit_test::basic_cstring", align 4
  %agg.tmp89 = alloca %"class.boost::unit_test::basic_cstring", align 4
  %ref.tmp92 = alloca %"class.boost::test_tools::predicate_result", align 4
  %ref.tmp101 = alloca %"class.boost::unit_test::lazy_ostream_impl.0", align 4
  %ref.tmp105 = alloca %"class.boost::unit_test::basic_cstring", align 4
  %agg.tmp108 = alloca %"class.boost::unit_test::basic_cstring", align 4
  %agg.tmp137 = alloca %"class.boost::unit_test::basic_cstring", align 4
  %agg.tmp139 = alloca %"class.boost::unit_test::basic_cstring", align 4
  %agg.tmp142 = alloca %"struct.boost::test_tools::tt_detail::equal_impl_frwd", align 1
  %ref.tmp143 = alloca %"class.boost::unit_test::lazy_ostream_impl", align 4
  %agg.tmp147 = alloca %"class.boost::unit_test::basic_cstring", align 4
  %ref.tmp150 = alloca i32, align 4
  %agg.tmp166 = alloca %"class.boost::unit_test::basic_cstring", align 4
  %agg.tmp168 = alloca %"class.boost::unit_test::basic_cstring", align 4
  %agg.tmp171 = alloca %"struct.boost::test_tools::tt_detail::equal_impl_frwd", align 1
  %ref.tmp172 = alloca %"class.boost::unit_test::lazy_ostream_impl", align 4
  %agg.tmp176 = alloca %"class.boost::unit_test::basic_cstring", align 4
  %ref.tmp181 = alloca %"class.std::basic_stringbuf"*, align 4
  %agg.tmp200 = alloca %"class.boost::unit_test::basic_cstring", align 4
  %agg.tmp202 = alloca %"class.boost::unit_test::basic_cstring", align 4
  %agg.tmp205 = alloca %"struct.boost::test_tools::tt_detail::equal_impl_frwd", align 1
  %ref.tmp206 = alloca %"class.boost::unit_test::lazy_ostream_impl", align 4
  %agg.tmp210 = alloca %"class.boost::unit_test::basic_cstring", align 4
  %ref.tmp213 = alloca i32, align 4
  %agg.tmp229 = alloca %"class.boost::unit_test::basic_cstring", align 4
  %agg.tmp231 = alloca %"class.boost::unit_test::basic_cstring", align 4
  %ref.tmp234 = alloca %"class.boost::test_tools::predicate_result", align 4
  %ref.tmp243 = alloca %"class.boost::unit_test::lazy_ostream_impl.0", align 4
  %ref.tmp247 = alloca %"class.boost::unit_test::basic_cstring", align 4
  %agg.tmp250 = alloca %"class.boost::unit_test::basic_cstring", align 4
  %call = call i32 @_ZStorSt13_Ios_OpenmodeS_(i32 16, i32 8)
  call void @_ZNSt18basic_stringstreamIcSt11char_traitsIcESaIcEEC1ESt13_Ios_Openmode(%"class.std::basic_stringstream"* %ss, i32 %call)
  br label %do.body

do.body:                                          ; preds = %do.cond, %entry
  %0 = load %"class.boost::unit_test::unit_test_log_t"** @_ZN5boost9unit_test12_GLOBAL__N_113unit_test_logE, align 4
  invoke void @_ZN5boost9unit_test13basic_cstringIKcEC1EPS2_j(%"class.boost::unit_test::basic_cstring"* %agg.tmp, i8* getelementptr inbounds ([24 x i8]* @.str, i32 0, i32 0), i32 23)
          to label %invoke.cont unwind label %lpad

invoke.cont:                                      ; preds = %do.body
  invoke void @_ZN5boost9unit_test13basic_cstringIKcEC1Ev(%"class.boost::unit_test::basic_cstring"* %agg.tmp1)
          to label %invoke.cont2 unwind label %lpad

invoke.cont2:                                     ; preds = %invoke.cont
  invoke void @_ZN5boost9unit_test15unit_test_log_t14set_checkpointENS0_13basic_cstringIKcEEjS4_(%"class.boost::unit_test::unit_test_log_t"* %0, %"class.boost::unit_test::basic_cstring"* byval align 4 %agg.tmp, i32 621, %"class.boost::unit_test::basic_cstring"* byval align 4 %agg.tmp1)
          to label %invoke.cont3 unwind label %lpad

invoke.cont3:                                     ; preds = %invoke.cont2
  %call6 = invoke %"class.boost::unit_test::lazy_ostream"* @_ZN5boost9unit_test12lazy_ostream8instanceEv()
          to label %invoke.cont5 unwind label %lpad

invoke.cont5:                                     ; preds = %invoke.cont3
  invoke void @_ZN5boost9unit_testlsIA1_cEENS0_17lazy_ostream_implIRKT_EERKNS0_12lazy_ostreamES6_(%"class.boost::unit_test::lazy_ostream_impl"* sret %ref.tmp, %"class.boost::unit_test::lazy_ostream"* %call6, [1 x i8]* @.str3)
          to label %invoke.cont7 unwind label %lpad

invoke.cont7:                                     ; preds = %invoke.cont5
  %1 = bitcast %"class.boost::unit_test::lazy_ostream_impl"* %ref.tmp to %"class.boost::unit_test::lazy_ostream"*
  invoke void @_ZN5boost9unit_test13basic_cstringIKcEC1EPS2_j(%"class.boost::unit_test::basic_cstring"* %agg.tmp8, i8* getelementptr inbounds ([24 x i8]* @.str, i32 0, i32 0), i32 23)
          to label %invoke.cont10 unwind label %lpad9

invoke.cont10:                                    ; preds = %invoke.cont7
  store i32 0, i32* %ref.tmp11, align 4
  %2 = bitcast %"class.std::basic_stringstream"* %ss to i8**
  %vtable = load i8** %2
  %vbase.offset.ptr = getelementptr i8* %vtable, i64 -12
  %3 = bitcast i8* %vbase.offset.ptr to i32*
  %vbase.offset = load i32* %3
  %4 = bitcast %"class.std::basic_stringstream"* %ss to i8*
  %add.ptr = getelementptr inbounds i8* %4, i32 %vbase.offset
  %5 = bitcast i8* %add.ptr to %"class.std::ios_base"*
  %6 = load i32* @_ZL10word_index, align 4
  %call13 = invoke i32* @_ZNSt8ios_base5iwordEi(%"class.std::ios_base"* %5, i32 %6)
          to label %invoke.cont12 unwind label %lpad9

invoke.cont12:                                    ; preds = %invoke.cont10
  %call15 = invoke zeroext i1 @_ZN5boost10test_tools9tt_detail10check_frwdINS1_15equal_impl_frwdEilEEbT_RKNS_9unit_test12lazy_ostreamENS5_13basic_cstringIKcEEjNS1_10tool_levelENS1_10check_typeERKT0_PSA_RKT1_SH_(%"class.boost::unit_test::lazy_ostream"* %1, %"class.boost::unit_test::basic_cstring"* byval align 4 %agg.tmp8, i32 621, i32 1, i32 2, i32* %ref.tmp11, i8* getelementptr inbounds ([2 x i8]* @.str14, i32 0, i32 0), i32* %call13, i8* getelementptr inbounds ([21 x i8]* @.str53, i32 0, i32 0))
          to label %invoke.cont14 unwind label %lpad9

invoke.cont14:                                    ; preds = %invoke.cont12
  invoke void @_ZN5boost9unit_test17lazy_ostream_implIRA1_KcED1Ev(%"class.boost::unit_test::lazy_ostream_impl"* %ref.tmp)
          to label %invoke.cont16 unwind label %lpad

invoke.cont16:                                    ; preds = %invoke.cont14
  br label %do.cond

do.cond:                                          ; preds = %invoke.cont16
  %7 = load i8* @_ZN5boost10test_tools12_GLOBAL__N_110dummy_condE, align 1
  %tobool = trunc i8 %7 to i1
  br i1 %tobool, label %do.body, label %do.end

do.end:                                           ; preds = %do.cond
  br label %do.body18

do.body18:                                        ; preds = %do.cond48, %do.end
  %8 = load %"class.boost::unit_test::unit_test_log_t"** @_ZN5boost9unit_test12_GLOBAL__N_113unit_test_logE, align 4
  invoke void @_ZN5boost9unit_test13basic_cstringIKcEC1EPS2_j(%"class.boost::unit_test::basic_cstring"* %agg.tmp19, i8* getelementptr inbounds ([24 x i8]* @.str, i32 0, i32 0), i32 23)
          to label %invoke.cont20 unwind label %lpad

invoke.cont20:                                    ; preds = %do.body18
  invoke void @_ZN5boost9unit_test13basic_cstringIKcEC1Ev(%"class.boost::unit_test::basic_cstring"* %agg.tmp21)
          to label %invoke.cont22 unwind label %lpad

invoke.cont22:                                    ; preds = %invoke.cont20
  invoke void @_ZN5boost9unit_test15unit_test_log_t14set_checkpointENS0_13basic_cstringIKcEEjS4_(%"class.boost::unit_test::unit_test_log_t"* %8, %"class.boost::unit_test::basic_cstring"* byval align 4 %agg.tmp19, i32 622, %"class.boost::unit_test::basic_cstring"* byval align 4 %agg.tmp21)
          to label %invoke.cont23 unwind label %lpad

invoke.cont23:                                    ; preds = %invoke.cont22
  %9 = bitcast %"class.std::basic_stringstream"* %ss to i8**
  %vtable25 = load i8** %9
  %vbase.offset.ptr26 = getelementptr i8* %vtable25, i64 -12
  %10 = bitcast i8* %vbase.offset.ptr26 to i32*
  %vbase.offset27 = load i32* %10
  %11 = bitcast %"class.std::basic_stringstream"* %ss to i8*
  %add.ptr28 = getelementptr inbounds i8* %11, i32 %vbase.offset27
  %12 = bitcast i8* %add.ptr28 to %"class.std::ios_base"*
  %13 = load i32* @_ZL10word_index, align 4
  %call30 = invoke i8** @_ZNSt8ios_base5pwordEi(%"class.std::ios_base"* %12, i32 %13)
          to label %invoke.cont29 unwind label %lpad

invoke.cont29:                                    ; preds = %invoke.cont23
  %14 = load i8** %call30
  %cmp = icmp eq i8* null, %14
  invoke void @_ZN5boost10test_tools16predicate_resultC1Eb(%"class.boost::test_tools::predicate_result"* %ref.tmp24, i1 zeroext %cmp)
          to label %invoke.cont31 unwind label %lpad

invoke.cont31:                                    ; preds = %invoke.cont29
  %call35 = invoke %"class.boost::unit_test::lazy_ostream"* @_ZN5boost9unit_test12lazy_ostream8instanceEv()
          to label %invoke.cont34 unwind label %lpad33

invoke.cont34:                                    ; preds = %invoke.cont31
  invoke void @_ZN5boost9unit_test13basic_cstringIKcEC1EPS2_j(%"class.boost::unit_test::basic_cstring"* %ref.tmp36, i8* getelementptr inbounds ([31 x i8]* @.str56, i32 0, i32 0), i32 30)
          to label %invoke.cont37 unwind label %lpad33

invoke.cont37:                                    ; preds = %invoke.cont34
  invoke void @_ZN5boost9unit_testlsINS0_13basic_cstringIKcEEEENS0_17lazy_ostream_implIRKT_EERKNS0_12lazy_ostreamES8_(%"class.boost::unit_test::lazy_ostream_impl.0"* sret %ref.tmp32, %"class.boost::unit_test::lazy_ostream"* %call35, %"class.boost::unit_test::basic_cstring"* %ref.tmp36)
          to label %invoke.cont38 unwind label %lpad33

invoke.cont38:                                    ; preds = %invoke.cont37
  %15 = bitcast %"class.boost::unit_test::lazy_ostream_impl.0"* %ref.tmp32 to %"class.boost::unit_test::lazy_ostream"*
  invoke void @_ZN5boost9unit_test13basic_cstringIKcEC1EPS2_j(%"class.boost::unit_test::basic_cstring"* %agg.tmp39, i8* getelementptr inbounds ([24 x i8]* @.str, i32 0, i32 0), i32 23)
          to label %invoke.cont41 unwind label %lpad40

invoke.cont41:                                    ; preds = %invoke.cont38
  %call43 = invoke zeroext i1 (%"class.boost::test_tools::predicate_result"*, %"class.boost::unit_test::lazy_ostream"*, %"class.boost::unit_test::basic_cstring"*, i32, i32, i32, i32, ...)* @_ZN5boost10test_tools9tt_detail10check_implERKNS0_16predicate_resultERKNS_9unit_test12lazy_ostreamENS5_13basic_cstringIKcEEjNS1_10tool_levelENS1_10check_typeEjz(%"class.boost::test_tools::predicate_result"* %ref.tmp24, %"class.boost::unit_test::lazy_ostream"* %15, %"class.boost::unit_test::basic_cstring"* byval align 4 %agg.tmp39, i32 622, i32 1, i32 0, i32 0)
          to label %invoke.cont42 unwind label %lpad40

invoke.cont42:                                    ; preds = %invoke.cont41
  invoke void @_ZN5boost9unit_test17lazy_ostream_implIRKNS0_13basic_cstringIKcEEED1Ev(%"class.boost::unit_test::lazy_ostream_impl.0"* %ref.tmp32)
          to label %invoke.cont44 unwind label %lpad33

invoke.cont44:                                    ; preds = %invoke.cont42
  invoke void @_ZN5boost10test_tools16predicate_resultD1Ev(%"class.boost::test_tools::predicate_result"* %ref.tmp24)
          to label %invoke.cont46 unwind label %lpad

invoke.cont46:                                    ; preds = %invoke.cont44
  br label %do.cond48

do.cond48:                                        ; preds = %invoke.cont46
  %16 = load i8* @_ZN5boost10test_tools12_GLOBAL__N_110dummy_condE, align 1
  %tobool49 = trunc i8 %16 to i1
  br i1 %tobool49, label %do.body18, label %do.end50

do.end50:                                         ; preds = %do.cond48
  %17 = bitcast %"class.std::basic_stringstream"* %ss to i8**
  %vtable51 = load i8** %17
  %vbase.offset.ptr52 = getelementptr i8* %vtable51, i64 -12
  %18 = bitcast i8* %vbase.offset.ptr52 to i32*
  %vbase.offset53 = load i32* %18
  %19 = bitcast %"class.std::basic_stringstream"* %ss to i8*
  %add.ptr54 = getelementptr inbounds i8* %19, i32 %vbase.offset53
  %20 = bitcast i8* %add.ptr54 to %"class.std::ios_base"*
  %21 = load i32* @_ZL10word_index, align 4
  invoke void @_ZN5boost2io18ios_all_word_saverC1ERSt8ios_basei(%"class.boost::io::ios_all_word_saver"* %iaws, %"class.std::ios_base"* %20, i32 %21)
          to label %invoke.cont55 unwind label %lpad

invoke.cont55:                                    ; preds = %do.end50
  br label %do.body56

do.body56:                                        ; preds = %do.cond83, %invoke.cont55
  %22 = load %"class.boost::unit_test::unit_test_log_t"** @_ZN5boost9unit_test12_GLOBAL__N_113unit_test_logE, align 4
  invoke void @_ZN5boost9unit_test13basic_cstringIKcEC1EPS2_j(%"class.boost::unit_test::basic_cstring"* %agg.tmp57, i8* getelementptr inbounds ([24 x i8]* @.str, i32 0, i32 0), i32 23)
          to label %invoke.cont59 unwind label %lpad58

invoke.cont59:                                    ; preds = %do.body56
  invoke void @_ZN5boost9unit_test13basic_cstringIKcEC1Ev(%"class.boost::unit_test::basic_cstring"* %agg.tmp60)
          to label %invoke.cont61 unwind label %lpad58

invoke.cont61:                                    ; preds = %invoke.cont59
  invoke void @_ZN5boost9unit_test15unit_test_log_t14set_checkpointENS0_13basic_cstringIKcEEjS4_(%"class.boost::unit_test::unit_test_log_t"* %22, %"class.boost::unit_test::basic_cstring"* byval align 4 %agg.tmp57, i32 627, %"class.boost::unit_test::basic_cstring"* byval align 4 %agg.tmp60)
          to label %invoke.cont62 unwind label %lpad58

invoke.cont62:                                    ; preds = %invoke.cont61
  %call66 = invoke %"class.boost::unit_test::lazy_ostream"* @_ZN5boost9unit_test12lazy_ostream8instanceEv()
          to label %invoke.cont65 unwind label %lpad58

invoke.cont65:                                    ; preds = %invoke.cont62
  invoke void @_ZN5boost9unit_testlsIA1_cEENS0_17lazy_ostream_implIRKT_EERKNS0_12lazy_ostreamES6_(%"class.boost::unit_test::lazy_ostream_impl"* sret %ref.tmp64, %"class.boost::unit_test::lazy_ostream"* %call66, [1 x i8]* @.str3)
          to label %invoke.cont67 unwind label %lpad58

invoke.cont67:                                    ; preds = %invoke.cont65
  %23 = bitcast %"class.boost::unit_test::lazy_ostream_impl"* %ref.tmp64 to %"class.boost::unit_test::lazy_ostream"*
  invoke void @_ZN5boost9unit_test13basic_cstringIKcEC1EPS2_j(%"class.boost::unit_test::basic_cstring"* %agg.tmp68, i8* getelementptr inbounds ([24 x i8]* @.str, i32 0, i32 0), i32 23)
          to label %invoke.cont70 unwind label %lpad69

invoke.cont70:                                    ; preds = %invoke.cont67
  store i32 0, i32* %ref.tmp71, align 4
  %24 = bitcast %"class.std::basic_stringstream"* %ss to i8**
  %vtable72 = load i8** %24
  %vbase.offset.ptr73 = getelementptr i8* %vtable72, i64 -12
  %25 = bitcast i8* %vbase.offset.ptr73 to i32*
  %vbase.offset74 = load i32* %25
  %26 = bitcast %"class.std::basic_stringstream"* %ss to i8*
  %add.ptr75 = getelementptr inbounds i8* %26, i32 %vbase.offset74
  %27 = bitcast i8* %add.ptr75 to %"class.std::ios_base"*
  %28 = load i32* @_ZL10word_index, align 4
  %call77 = invoke i32* @_ZNSt8ios_base5iwordEi(%"class.std::ios_base"* %27, i32 %28)
          to label %invoke.cont76 unwind label %lpad69

invoke.cont76:                                    ; preds = %invoke.cont70
  %call79 = invoke zeroext i1 @_ZN5boost10test_tools9tt_detail10check_frwdINS1_15equal_impl_frwdEilEEbT_RKNS_9unit_test12lazy_ostreamENS5_13basic_cstringIKcEEjNS1_10tool_levelENS1_10check_typeERKT0_PSA_RKT1_SH_(%"class.boost::unit_test::lazy_ostream"* %23, %"class.boost::unit_test::basic_cstring"* byval align 4 %agg.tmp68, i32 627, i32 1, i32 2, i32* %ref.tmp71, i8* getelementptr inbounds ([2 x i8]* @.str14, i32 0, i32 0), i32* %call77, i8* getelementptr inbounds ([21 x i8]* @.str53, i32 0, i32 0))
          to label %invoke.cont78 unwind label %lpad69

invoke.cont78:                                    ; preds = %invoke.cont76
  invoke void @_ZN5boost9unit_test17lazy_ostream_implIRA1_KcED1Ev(%"class.boost::unit_test::lazy_ostream_impl"* %ref.tmp64)
          to label %invoke.cont80 unwind label %lpad58

invoke.cont80:                                    ; preds = %invoke.cont78
  br label %do.cond83

do.cond83:                                        ; preds = %invoke.cont80
  %29 = load i8* @_ZN5boost10test_tools12_GLOBAL__N_110dummy_condE, align 1
  %tobool84 = trunc i8 %29 to i1
  br i1 %tobool84, label %do.body56, label %do.end85

do.end85:                                         ; preds = %do.cond83
  br label %do.body86

do.body86:                                        ; preds = %do.cond119, %do.end85
  %30 = load %"class.boost::unit_test::unit_test_log_t"** @_ZN5boost9unit_test12_GLOBAL__N_113unit_test_logE, align 4
  invoke void @_ZN5boost9unit_test13basic_cstringIKcEC1EPS2_j(%"class.boost::unit_test::basic_cstring"* %agg.tmp87, i8* getelementptr inbounds ([24 x i8]* @.str, i32 0, i32 0), i32 23)
          to label %invoke.cont88 unwind label %lpad58

invoke.cont88:                                    ; preds = %do.body86
  invoke void @_ZN5boost9unit_test13basic_cstringIKcEC1Ev(%"class.boost::unit_test::basic_cstring"* %agg.tmp89)
          to label %invoke.cont90 unwind label %lpad58

invoke.cont90:                                    ; preds = %invoke.cont88
  invoke void @_ZN5boost9unit_test15unit_test_log_t14set_checkpointENS0_13basic_cstringIKcEEjS4_(%"class.boost::unit_test::unit_test_log_t"* %30, %"class.boost::unit_test::basic_cstring"* byval align 4 %agg.tmp87, i32 628, %"class.boost::unit_test::basic_cstring"* byval align 4 %agg.tmp89)
          to label %invoke.cont91 unwind label %lpad58

invoke.cont91:                                    ; preds = %invoke.cont90
  %31 = bitcast %"class.std::basic_stringstream"* %ss to i8**
  %vtable93 = load i8** %31
  %vbase.offset.ptr94 = getelementptr i8* %vtable93, i64 -12
  %32 = bitcast i8* %vbase.offset.ptr94 to i32*
  %vbase.offset95 = load i32* %32
  %33 = bitcast %"class.std::basic_stringstream"* %ss to i8*
  %add.ptr96 = getelementptr inbounds i8* %33, i32 %vbase.offset95
  %34 = bitcast i8* %add.ptr96 to %"class.std::ios_base"*
  %35 = load i32* @_ZL10word_index, align 4
  %call98 = invoke i8** @_ZNSt8ios_base5pwordEi(%"class.std::ios_base"* %34, i32 %35)
          to label %invoke.cont97 unwind label %lpad58

invoke.cont97:                                    ; preds = %invoke.cont91
  %36 = load i8** %call98
  %cmp99 = icmp eq i8* null, %36
  invoke void @_ZN5boost10test_tools16predicate_resultC1Eb(%"class.boost::test_tools::predicate_result"* %ref.tmp92, i1 zeroext %cmp99)
          to label %invoke.cont100 unwind label %lpad58

invoke.cont100:                                   ; preds = %invoke.cont97
  %call104 = invoke %"class.boost::unit_test::lazy_ostream"* @_ZN5boost9unit_test12lazy_ostream8instanceEv()
          to label %invoke.cont103 unwind label %lpad102

invoke.cont103:                                   ; preds = %invoke.cont100
  invoke void @_ZN5boost9unit_test13basic_cstringIKcEC1EPS2_j(%"class.boost::unit_test::basic_cstring"* %ref.tmp105, i8* getelementptr inbounds ([31 x i8]* @.str56, i32 0, i32 0), i32 30)
          to label %invoke.cont106 unwind label %lpad102

invoke.cont106:                                   ; preds = %invoke.cont103
  invoke void @_ZN5boost9unit_testlsINS0_13basic_cstringIKcEEEENS0_17lazy_ostream_implIRKT_EERKNS0_12lazy_ostreamES8_(%"class.boost::unit_test::lazy_ostream_impl.0"* sret %ref.tmp101, %"class.boost::unit_test::lazy_ostream"* %call104, %"class.boost::unit_test::basic_cstring"* %ref.tmp105)
          to label %invoke.cont107 unwind label %lpad102

invoke.cont107:                                   ; preds = %invoke.cont106
  %37 = bitcast %"class.boost::unit_test::lazy_ostream_impl.0"* %ref.tmp101 to %"class.boost::unit_test::lazy_ostream"*
  invoke void @_ZN5boost9unit_test13basic_cstringIKcEC1EPS2_j(%"class.boost::unit_test::basic_cstring"* %agg.tmp108, i8* getelementptr inbounds ([24 x i8]* @.str, i32 0, i32 0), i32 23)
          to label %invoke.cont110 unwind label %lpad109

invoke.cont110:                                   ; preds = %invoke.cont107
  %call112 = invoke zeroext i1 (%"class.boost::test_tools::predicate_result"*, %"class.boost::unit_test::lazy_ostream"*, %"class.boost::unit_test::basic_cstring"*, i32, i32, i32, i32, ...)* @_ZN5boost10test_tools9tt_detail10check_implERKNS0_16predicate_resultERKNS_9unit_test12lazy_ostreamENS5_13basic_cstringIKcEEjNS1_10tool_levelENS1_10check_typeEjz(%"class.boost::test_tools::predicate_result"* %ref.tmp92, %"class.boost::unit_test::lazy_ostream"* %37, %"class.boost::unit_test::basic_cstring"* byval align 4 %agg.tmp108, i32 628, i32 1, i32 0, i32 0)
          to label %invoke.cont111 unwind label %lpad109

invoke.cont111:                                   ; preds = %invoke.cont110
  invoke void @_ZN5boost9unit_test17lazy_ostream_implIRKNS0_13basic_cstringIKcEEED1Ev(%"class.boost::unit_test::lazy_ostream_impl.0"* %ref.tmp101)
          to label %invoke.cont113 unwind label %lpad102

invoke.cont113:                                   ; preds = %invoke.cont111
  invoke void @_ZN5boost10test_tools16predicate_resultD1Ev(%"class.boost::test_tools::predicate_result"* %ref.tmp92)
          to label %invoke.cont116 unwind label %lpad58

invoke.cont116:                                   ; preds = %invoke.cont113
  br label %do.cond119

do.cond119:                                       ; preds = %invoke.cont116
  %38 = load i8* @_ZN5boost10test_tools12_GLOBAL__N_110dummy_condE, align 1
  %tobool120 = trunc i8 %38 to i1
  br i1 %tobool120, label %do.body86, label %do.end121

do.end121:                                        ; preds = %do.cond119
  %39 = bitcast %"class.std::basic_stringstream"* %ss to i8**
  %vtable122 = load i8** %39
  %vbase.offset.ptr123 = getelementptr i8* %vtable122, i64 -12
  %40 = bitcast i8* %vbase.offset.ptr123 to i32*
  %vbase.offset124 = load i32* %40
  %41 = bitcast %"class.std::basic_stringstream"* %ss to i8*
  %add.ptr125 = getelementptr inbounds i8* %41, i32 %vbase.offset124
  %42 = bitcast i8* %add.ptr125 to %"class.std::ios_base"*
  %43 = load i32* @_ZL10word_index, align 4
  %call127 = invoke i32* @_ZNSt8ios_base5iwordEi(%"class.std::ios_base"* %42, i32 %43)
          to label %invoke.cont126 unwind label %lpad58

invoke.cont126:                                   ; preds = %do.end121
  store i32 -11, i32* %call127
  %call129 = invoke %"class.std::basic_stringbuf"* @_ZNKSt18basic_stringstreamIcSt11char_traitsIcESaIcEE5rdbufEv(%"class.std::basic_stringstream"* %ss)
          to label %invoke.cont128 unwind label %lpad58

invoke.cont128:                                   ; preds = %invoke.cont126
  %44 = bitcast %"class.std::basic_stringbuf"* %call129 to i8*
  %45 = bitcast %"class.std::basic_stringstream"* %ss to i8**
  %vtable130 = load i8** %45
  %vbase.offset.ptr131 = getelementptr i8* %vtable130, i64 -12
  %46 = bitcast i8* %vbase.offset.ptr131 to i32*
  %vbase.offset132 = load i32* %46
  %47 = bitcast %"class.std::basic_stringstream"* %ss to i8*
  %add.ptr133 = getelementptr inbounds i8* %47, i32 %vbase.offset132
  %48 = bitcast i8* %add.ptr133 to %"class.std::ios_base"*
  %49 = load i32* @_ZL10word_index, align 4
  %call135 = invoke i8** @_ZNSt8ios_base5pwordEi(%"class.std::ios_base"* %48, i32 %49)
          to label %invoke.cont134 unwind label %lpad58

invoke.cont134:                                   ; preds = %invoke.cont128
  store i8* %44, i8** %call135
  br label %do.body136

do.body136:                                       ; preds = %do.cond162, %invoke.cont134
  %50 = load %"class.boost::unit_test::unit_test_log_t"** @_ZN5boost9unit_test12_GLOBAL__N_113unit_test_logE, align 4
  invoke void @_ZN5boost9unit_test13basic_cstringIKcEC1EPS2_j(%"class.boost::unit_test::basic_cstring"* %agg.tmp137, i8* getelementptr inbounds ([24 x i8]* @.str, i32 0, i32 0), i32 23)
          to label %invoke.cont138 unwind label %lpad58

invoke.cont138:                                   ; preds = %do.body136
  invoke void @_ZN5boost9unit_test13basic_cstringIKcEC1Ev(%"class.boost::unit_test::basic_cstring"* %agg.tmp139)
          to label %invoke.cont140 unwind label %lpad58

invoke.cont140:                                   ; preds = %invoke.cont138
  invoke void @_ZN5boost9unit_test15unit_test_log_t14set_checkpointENS0_13basic_cstringIKcEEjS4_(%"class.boost::unit_test::unit_test_log_t"* %50, %"class.boost::unit_test::basic_cstring"* byval align 4 %agg.tmp137, i32 632, %"class.boost::unit_test::basic_cstring"* byval align 4 %agg.tmp139)
          to label %invoke.cont141 unwind label %lpad58

invoke.cont141:                                   ; preds = %invoke.cont140
  %call145 = invoke %"class.boost::unit_test::lazy_ostream"* @_ZN5boost9unit_test12lazy_ostream8instanceEv()
          to label %invoke.cont144 unwind label %lpad58

invoke.cont144:                                   ; preds = %invoke.cont141
  invoke void @_ZN5boost9unit_testlsIA1_cEENS0_17lazy_ostream_implIRKT_EERKNS0_12lazy_ostreamES6_(%"class.boost::unit_test::lazy_ostream_impl"* sret %ref.tmp143, %"class.boost::unit_test::lazy_ostream"* %call145, [1 x i8]* @.str3)
          to label %invoke.cont146 unwind label %lpad58

invoke.cont146:                                   ; preds = %invoke.cont144
  %51 = bitcast %"class.boost::unit_test::lazy_ostream_impl"* %ref.tmp143 to %"class.boost::unit_test::lazy_ostream"*
  invoke void @_ZN5boost9unit_test13basic_cstringIKcEC1EPS2_j(%"class.boost::unit_test::basic_cstring"* %agg.tmp147, i8* getelementptr inbounds ([24 x i8]* @.str, i32 0, i32 0), i32 23)
          to label %invoke.cont149 unwind label %lpad148

invoke.cont149:                                   ; preds = %invoke.cont146
  store i32 -11, i32* %ref.tmp150, align 4
  %52 = bitcast %"class.std::basic_stringstream"* %ss to i8**
  %vtable151 = load i8** %52
  %vbase.offset.ptr152 = getelementptr i8* %vtable151, i64 -12
  %53 = bitcast i8* %vbase.offset.ptr152 to i32*
  %vbase.offset153 = load i32* %53
  %54 = bitcast %"class.std::basic_stringstream"* %ss to i8*
  %add.ptr154 = getelementptr inbounds i8* %54, i32 %vbase.offset153
  %55 = bitcast i8* %add.ptr154 to %"class.std::ios_base"*
  %56 = load i32* @_ZL10word_index, align 4
  %call156 = invoke i32* @_ZNSt8ios_base5iwordEi(%"class.std::ios_base"* %55, i32 %56)
          to label %invoke.cont155 unwind label %lpad148

invoke.cont155:                                   ; preds = %invoke.cont149
  %call158 = invoke zeroext i1 @_ZN5boost10test_tools9tt_detail10check_frwdINS1_15equal_impl_frwdEilEEbT_RKNS_9unit_test12lazy_ostreamENS5_13basic_cstringIKcEEjNS1_10tool_levelENS1_10check_typeERKT0_PSA_RKT1_SH_(%"class.boost::unit_test::lazy_ostream"* %51, %"class.boost::unit_test::basic_cstring"* byval align 4 %agg.tmp147, i32 632, i32 1, i32 2, i32* %ref.tmp150, i8* getelementptr inbounds ([4 x i8]* @.str71, i32 0, i32 0), i32* %call156, i8* getelementptr inbounds ([21 x i8]* @.str53, i32 0, i32 0))
          to label %invoke.cont157 unwind label %lpad148

invoke.cont157:                                   ; preds = %invoke.cont155
  invoke void @_ZN5boost9unit_test17lazy_ostream_implIRA1_KcED1Ev(%"class.boost::unit_test::lazy_ostream_impl"* %ref.tmp143)
          to label %invoke.cont159 unwind label %lpad58

invoke.cont159:                                   ; preds = %invoke.cont157
  br label %do.cond162

do.cond162:                                       ; preds = %invoke.cont159
  %57 = load i8* @_ZN5boost10test_tools12_GLOBAL__N_110dummy_condE, align 1
  %tobool163 = trunc i8 %57 to i1
  br i1 %tobool163, label %do.body136, label %do.end164

do.end164:                                        ; preds = %do.cond162
  br label %do.body165

do.body165:                                       ; preds = %do.cond193, %do.end164
  %58 = load %"class.boost::unit_test::unit_test_log_t"** @_ZN5boost9unit_test12_GLOBAL__N_113unit_test_logE, align 4
  invoke void @_ZN5boost9unit_test13basic_cstringIKcEC1EPS2_j(%"class.boost::unit_test::basic_cstring"* %agg.tmp166, i8* getelementptr inbounds ([24 x i8]* @.str, i32 0, i32 0), i32 23)
          to label %invoke.cont167 unwind label %lpad58

invoke.cont167:                                   ; preds = %do.body165
  invoke void @_ZN5boost9unit_test13basic_cstringIKcEC1Ev(%"class.boost::unit_test::basic_cstring"* %agg.tmp168)
          to label %invoke.cont169 unwind label %lpad58

invoke.cont169:                                   ; preds = %invoke.cont167
  invoke void @_ZN5boost9unit_test15unit_test_log_t14set_checkpointENS0_13basic_cstringIKcEEjS4_(%"class.boost::unit_test::unit_test_log_t"* %58, %"class.boost::unit_test::basic_cstring"* byval align 4 %agg.tmp166, i32 633, %"class.boost::unit_test::basic_cstring"* byval align 4 %agg.tmp168)
          to label %invoke.cont170 unwind label %lpad58

invoke.cont170:                                   ; preds = %invoke.cont169
  %call174 = invoke %"class.boost::unit_test::lazy_ostream"* @_ZN5boost9unit_test12lazy_ostream8instanceEv()
          to label %invoke.cont173 unwind label %lpad58

invoke.cont173:                                   ; preds = %invoke.cont170
  invoke void @_ZN5boost9unit_testlsIA1_cEENS0_17lazy_ostream_implIRKT_EERKNS0_12lazy_ostreamES6_(%"class.boost::unit_test::lazy_ostream_impl"* sret %ref.tmp172, %"class.boost::unit_test::lazy_ostream"* %call174, [1 x i8]* @.str3)
          to label %invoke.cont175 unwind label %lpad58

invoke.cont175:                                   ; preds = %invoke.cont173
  %59 = bitcast %"class.boost::unit_test::lazy_ostream_impl"* %ref.tmp172 to %"class.boost::unit_test::lazy_ostream"*
  invoke void @_ZN5boost9unit_test13basic_cstringIKcEC1EPS2_j(%"class.boost::unit_test::basic_cstring"* %agg.tmp176, i8* getelementptr inbounds ([24 x i8]* @.str, i32 0, i32 0), i32 23)
          to label %invoke.cont178 unwind label %lpad177

invoke.cont178:                                   ; preds = %invoke.cont175
  %call180 = invoke %"class.std::basic_stringbuf"* @_ZNKSt18basic_stringstreamIcSt11char_traitsIcESaIcEE5rdbufEv(%"class.std::basic_stringstream"* %ss)
          to label %invoke.cont179 unwind label %lpad177

invoke.cont179:                                   ; preds = %invoke.cont178
  store %"class.std::basic_stringbuf"* %call180, %"class.std::basic_stringbuf"** %ref.tmp181, align 4
  %60 = bitcast %"class.std::basic_stringstream"* %ss to i8**
  %vtable182 = load i8** %60
  %vbase.offset.ptr183 = getelementptr i8* %vtable182, i64 -12
  %61 = bitcast i8* %vbase.offset.ptr183 to i32*
  %vbase.offset184 = load i32* %61
  %62 = bitcast %"class.std::basic_stringstream"* %ss to i8*
  %add.ptr185 = getelementptr inbounds i8* %62, i32 %vbase.offset184
  %63 = bitcast i8* %add.ptr185 to %"class.std::ios_base"*
  %64 = load i32* @_ZL10word_index, align 4
  %call187 = invoke i8** @_ZNSt8ios_base5pwordEi(%"class.std::ios_base"* %63, i32 %64)
          to label %invoke.cont186 unwind label %lpad177

invoke.cont186:                                   ; preds = %invoke.cont179
  %call189 = invoke zeroext i1 @_ZN5boost10test_tools9tt_detail10check_frwdINS1_15equal_impl_frwdEPSt15basic_stringbufIcSt11char_traitsIcESaIcEEPvEEbT_RKNS_9unit_test12lazy_ostreamENSC_13basic_cstringIKcEEjNS1_10tool_levelENS1_10check_typeERKT0_PSH_RKT1_SO_(%"class.boost::unit_test::lazy_ostream"* %59, %"class.boost::unit_test::basic_cstring"* byval align 4 %agg.tmp176, i32 633, i32 1, i32 2, %"class.std::basic_stringbuf"** %ref.tmp181, i8* getelementptr inbounds ([11 x i8]* @.str59, i32 0, i32 0), i8** %call187, i8* getelementptr inbounds ([21 x i8]* @.str58, i32 0, i32 0))
          to label %invoke.cont188 unwind label %lpad177

invoke.cont188:                                   ; preds = %invoke.cont186
  invoke void @_ZN5boost9unit_test17lazy_ostream_implIRA1_KcED1Ev(%"class.boost::unit_test::lazy_ostream_impl"* %ref.tmp172)
          to label %invoke.cont190 unwind label %lpad58

invoke.cont190:                                   ; preds = %invoke.cont188
  br label %do.cond193

do.cond193:                                       ; preds = %invoke.cont190
  %65 = load i8* @_ZN5boost10test_tools12_GLOBAL__N_110dummy_condE, align 1
  %tobool194 = trunc i8 %65 to i1
  br i1 %tobool194, label %do.body165, label %do.end195

do.end195:                                        ; preds = %do.cond193
  invoke void @_ZN5boost2io18ios_all_word_saverD1Ev(%"class.boost::io::ios_all_word_saver"* %iaws)
          to label %invoke.cont196 unwind label %lpad

invoke.cont196:                                   ; preds = %do.end195
  br label %do.body199

do.body199:                                       ; preds = %do.cond225, %invoke.cont196
  %66 = load %"class.boost::unit_test::unit_test_log_t"** @_ZN5boost9unit_test12_GLOBAL__N_113unit_test_logE, align 4
  invoke void @_ZN5boost9unit_test13basic_cstringIKcEC1EPS2_j(%"class.boost::unit_test::basic_cstring"* %agg.tmp200, i8* getelementptr inbounds ([24 x i8]* @.str, i32 0, i32 0), i32 23)
          to label %invoke.cont201 unwind label %lpad

invoke.cont201:                                   ; preds = %do.body199
  invoke void @_ZN5boost9unit_test13basic_cstringIKcEC1Ev(%"class.boost::unit_test::basic_cstring"* %agg.tmp202)
          to label %invoke.cont203 unwind label %lpad

invoke.cont203:                                   ; preds = %invoke.cont201
  invoke void @_ZN5boost9unit_test15unit_test_log_t14set_checkpointENS0_13basic_cstringIKcEEjS4_(%"class.boost::unit_test::unit_test_log_t"* %66, %"class.boost::unit_test::basic_cstring"* byval align 4 %agg.tmp200, i32 636, %"class.boost::unit_test::basic_cstring"* byval align 4 %agg.tmp202)
          to label %invoke.cont204 unwind label %lpad

invoke.cont204:                                   ; preds = %invoke.cont203
  %call208 = invoke %"class.boost::unit_test::lazy_ostream"* @_ZN5boost9unit_test12lazy_ostream8instanceEv()
          to label %invoke.cont207 unwind label %lpad

invoke.cont207:                                   ; preds = %invoke.cont204
  invoke void @_ZN5boost9unit_testlsIA1_cEENS0_17lazy_ostream_implIRKT_EERKNS0_12lazy_ostreamES6_(%"class.boost::unit_test::lazy_ostream_impl"* sret %ref.tmp206, %"class.boost::unit_test::lazy_ostream"* %call208, [1 x i8]* @.str3)
          to label %invoke.cont209 unwind label %lpad

invoke.cont209:                                   ; preds = %invoke.cont207
  %67 = bitcast %"class.boost::unit_test::lazy_ostream_impl"* %ref.tmp206 to %"class.boost::unit_test::lazy_ostream"*
  invoke void @_ZN5boost9unit_test13basic_cstringIKcEC1EPS2_j(%"class.boost::unit_test::basic_cstring"* %agg.tmp210, i8* getelementptr inbounds ([24 x i8]* @.str, i32 0, i32 0), i32 23)
          to label %invoke.cont212 unwind label %lpad211

invoke.cont212:                                   ; preds = %invoke.cont209
  store i32 0, i32* %ref.tmp213, align 4
  %68 = bitcast %"class.std::basic_stringstream"* %ss to i8**
  %vtable214 = load i8** %68
  %vbase.offset.ptr215 = getelementptr i8* %vtable214, i64 -12
  %69 = bitcast i8* %vbase.offset.ptr215 to i32*
  %vbase.offset216 = load i32* %69
  %70 = bitcast %"class.std::basic_stringstream"* %ss to i8*
  %add.ptr217 = getelementptr inbounds i8* %70, i32 %vbase.offset216
  %71 = bitcast i8* %add.ptr217 to %"class.std::ios_base"*
  %72 = load i32* @_ZL10word_index, align 4
  %call219 = invoke i32* @_ZNSt8ios_base5iwordEi(%"class.std::ios_base"* %71, i32 %72)
          to label %invoke.cont218 unwind label %lpad211

invoke.cont218:                                   ; preds = %invoke.cont212
  %call221 = invoke zeroext i1 @_ZN5boost10test_tools9tt_detail10check_frwdINS1_15equal_impl_frwdEilEEbT_RKNS_9unit_test12lazy_ostreamENS5_13basic_cstringIKcEEjNS1_10tool_levelENS1_10check_typeERKT0_PSA_RKT1_SH_(%"class.boost::unit_test::lazy_ostream"* %67, %"class.boost::unit_test::basic_cstring"* byval align 4 %agg.tmp210, i32 636, i32 1, i32 2, i32* %ref.tmp213, i8* getelementptr inbounds ([2 x i8]* @.str14, i32 0, i32 0), i32* %call219, i8* getelementptr inbounds ([21 x i8]* @.str53, i32 0, i32 0))
          to label %invoke.cont220 unwind label %lpad211

invoke.cont220:                                   ; preds = %invoke.cont218
  invoke void @_ZN5boost9unit_test17lazy_ostream_implIRA1_KcED1Ev(%"class.boost::unit_test::lazy_ostream_impl"* %ref.tmp206)
          to label %invoke.cont222 unwind label %lpad

invoke.cont222:                                   ; preds = %invoke.cont220
  br label %do.cond225

do.cond225:                                       ; preds = %invoke.cont222
  %73 = load i8* @_ZN5boost10test_tools12_GLOBAL__N_110dummy_condE, align 1
  %tobool226 = trunc i8 %73 to i1
  br i1 %tobool226, label %do.body199, label %do.end227

do.end227:                                        ; preds = %do.cond225
  br label %do.body228

do.body228:                                       ; preds = %do.cond261, %do.end227
  %74 = load %"class.boost::unit_test::unit_test_log_t"** @_ZN5boost9unit_test12_GLOBAL__N_113unit_test_logE, align 4
  invoke void @_ZN5boost9unit_test13basic_cstringIKcEC1EPS2_j(%"class.boost::unit_test::basic_cstring"* %agg.tmp229, i8* getelementptr inbounds ([24 x i8]* @.str, i32 0, i32 0), i32 23)
          to label %invoke.cont230 unwind label %lpad

invoke.cont230:                                   ; preds = %do.body228
  invoke void @_ZN5boost9unit_test13basic_cstringIKcEC1Ev(%"class.boost::unit_test::basic_cstring"* %agg.tmp231)
          to label %invoke.cont232 unwind label %lpad

invoke.cont232:                                   ; preds = %invoke.cont230
  invoke void @_ZN5boost9unit_test15unit_test_log_t14set_checkpointENS0_13basic_cstringIKcEEjS4_(%"class.boost::unit_test::unit_test_log_t"* %74, %"class.boost::unit_test::basic_cstring"* byval align 4 %agg.tmp229, i32 637, %"class.boost::unit_test::basic_cstring"* byval align 4 %agg.tmp231)
          to label %invoke.cont233 unwind label %lpad

invoke.cont233:                                   ; preds = %invoke.cont232
  %75 = bitcast %"class.std::basic_stringstream"* %ss to i8**
  %vtable235 = load i8** %75
  %vbase.offset.ptr236 = getelementptr i8* %vtable235, i64 -12
  %76 = bitcast i8* %vbase.offset.ptr236 to i32*
  %vbase.offset237 = load i32* %76
  %77 = bitcast %"class.std::basic_stringstream"* %ss to i8*
  %add.ptr238 = getelementptr inbounds i8* %77, i32 %vbase.offset237
  %78 = bitcast i8* %add.ptr238 to %"class.std::ios_base"*
  %79 = load i32* @_ZL10word_index, align 4
  %call240 = invoke i8** @_ZNSt8ios_base5pwordEi(%"class.std::ios_base"* %78, i32 %79)
          to label %invoke.cont239 unwind label %lpad

invoke.cont239:                                   ; preds = %invoke.cont233
  %80 = load i8** %call240
  %cmp241 = icmp eq i8* null, %80
  invoke void @_ZN5boost10test_tools16predicate_resultC1Eb(%"class.boost::test_tools::predicate_result"* %ref.tmp234, i1 zeroext %cmp241)
          to label %invoke.cont242 unwind label %lpad

invoke.cont242:                                   ; preds = %invoke.cont239
  %call246 = invoke %"class.boost::unit_test::lazy_ostream"* @_ZN5boost9unit_test12lazy_ostream8instanceEv()
          to label %invoke.cont245 unwind label %lpad244

invoke.cont245:                                   ; preds = %invoke.cont242
  invoke void @_ZN5boost9unit_test13basic_cstringIKcEC1EPS2_j(%"class.boost::unit_test::basic_cstring"* %ref.tmp247, i8* getelementptr inbounds ([31 x i8]* @.str56, i32 0, i32 0), i32 30)
          to label %invoke.cont248 unwind label %lpad244

invoke.cont248:                                   ; preds = %invoke.cont245
  invoke void @_ZN5boost9unit_testlsINS0_13basic_cstringIKcEEEENS0_17lazy_ostream_implIRKT_EERKNS0_12lazy_ostreamES8_(%"class.boost::unit_test::lazy_ostream_impl.0"* sret %ref.tmp243, %"class.boost::unit_test::lazy_ostream"* %call246, %"class.boost::unit_test::basic_cstring"* %ref.tmp247)
          to label %invoke.cont249 unwind label %lpad244

invoke.cont249:                                   ; preds = %invoke.cont248
  %81 = bitcast %"class.boost::unit_test::lazy_ostream_impl.0"* %ref.tmp243 to %"class.boost::unit_test::lazy_ostream"*
  invoke void @_ZN5boost9unit_test13basic_cstringIKcEC1EPS2_j(%"class.boost::unit_test::basic_cstring"* %agg.tmp250, i8* getelementptr inbounds ([24 x i8]* @.str, i32 0, i32 0), i32 23)
          to label %invoke.cont252 unwind label %lpad251

invoke.cont252:                                   ; preds = %invoke.cont249
  %call254 = invoke zeroext i1 (%"class.boost::test_tools::predicate_result"*, %"class.boost::unit_test::lazy_ostream"*, %"class.boost::unit_test::basic_cstring"*, i32, i32, i32, i32, ...)* @_ZN5boost10test_tools9tt_detail10check_implERKNS0_16predicate_resultERKNS_9unit_test12lazy_ostreamENS5_13basic_cstringIKcEEjNS1_10tool_levelENS1_10check_typeEjz(%"class.boost::test_tools::predicate_result"* %ref.tmp234, %"class.boost::unit_test::lazy_ostream"* %81, %"class.boost::unit_test::basic_cstring"* byval align 4 %agg.tmp250, i32 637, i32 1, i32 0, i32 0)
          to label %invoke.cont253 unwind label %lpad251

invoke.cont253:                                   ; preds = %invoke.cont252
  invoke void @_ZN5boost9unit_test17lazy_ostream_implIRKNS0_13basic_cstringIKcEEED1Ev(%"class.boost::unit_test::lazy_ostream_impl.0"* %ref.tmp243)
          to label %invoke.cont255 unwind label %lpad244

invoke.cont255:                                   ; preds = %invoke.cont253
  invoke void @_ZN5boost10test_tools16predicate_resultD1Ev(%"class.boost::test_tools::predicate_result"* %ref.tmp234)
          to label %invoke.cont258 unwind label %lpad

invoke.cont258:                                   ; preds = %invoke.cont255
  br label %do.cond261

do.cond261:                                       ; preds = %invoke.cont258
  %82 = load i8* @_ZN5boost10test_tools12_GLOBAL__N_110dummy_condE, align 1
  %tobool262 = trunc i8 %82 to i1
  br i1 %tobool262, label %do.body228, label %do.end263

do.end263:                                        ; preds = %do.cond261
  call void @_ZNSt18basic_stringstreamIcSt11char_traitsIcESaIcEED1Ev(%"class.std::basic_stringstream"* %ss)
  ret void

lpad:                                             ; preds = %invoke.cont255, %invoke.cont239, %invoke.cont233, %invoke.cont232, %invoke.cont230, %do.body228, %invoke.cont220, %invoke.cont207, %invoke.cont204, %invoke.cont203, %invoke.cont201, %do.body199, %do.end195, %do.end50, %invoke.cont44, %invoke.cont29, %invoke.cont23, %invoke.cont22, %invoke.cont20, %do.body18, %invoke.cont14, %invoke.cont5, %invoke.cont3, %invoke.cont2, %invoke.cont, %do.body
  %83 = landingpad { i8*, i32 } personality i8* bitcast (i32 (...)* @__gxx_personality_v0 to i8*)
          cleanup
  %84 = extractvalue { i8*, i32 } %83, 0
  store i8* %84, i8** %exn.slot
  %85 = extractvalue { i8*, i32 } %83, 1
  store i32 %85, i32* %ehselector.slot
  br label %ehcleanup264

lpad9:                                            ; preds = %invoke.cont12, %invoke.cont10, %invoke.cont7
  %86 = landingpad { i8*, i32 } personality i8* bitcast (i32 (...)* @__gxx_personality_v0 to i8*)
          cleanup
  %87 = extractvalue { i8*, i32 } %86, 0
  store i8* %87, i8** %exn.slot
  %88 = extractvalue { i8*, i32 } %86, 1
  store i32 %88, i32* %ehselector.slot
  invoke void @_ZN5boost9unit_test17lazy_ostream_implIRA1_KcED1Ev(%"class.boost::unit_test::lazy_ostream_impl"* %ref.tmp)
          to label %invoke.cont17 unwind label %terminate.lpad

invoke.cont17:                                    ; preds = %lpad9
  br label %ehcleanup264

lpad33:                                           ; preds = %invoke.cont42, %invoke.cont37, %invoke.cont34, %invoke.cont31
  %89 = landingpad { i8*, i32 } personality i8* bitcast (i32 (...)* @__gxx_personality_v0 to i8*)
          cleanup
  %90 = extractvalue { i8*, i32 } %89, 0
  store i8* %90, i8** %exn.slot
  %91 = extractvalue { i8*, i32 } %89, 1
  store i32 %91, i32* %ehselector.slot
  br label %ehcleanup

lpad40:                                           ; preds = %invoke.cont41, %invoke.cont38
  %92 = landingpad { i8*, i32 } personality i8* bitcast (i32 (...)* @__gxx_personality_v0 to i8*)
          cleanup
  %93 = extractvalue { i8*, i32 } %92, 0
  store i8* %93, i8** %exn.slot
  %94 = extractvalue { i8*, i32 } %92, 1
  store i32 %94, i32* %ehselector.slot
  invoke void @_ZN5boost9unit_test17lazy_ostream_implIRKNS0_13basic_cstringIKcEEED1Ev(%"class.boost::unit_test::lazy_ostream_impl.0"* %ref.tmp32)
          to label %invoke.cont45 unwind label %terminate.lpad

invoke.cont45:                                    ; preds = %lpad40
  br label %ehcleanup

ehcleanup:                                        ; preds = %invoke.cont45, %lpad33
  invoke void @_ZN5boost10test_tools16predicate_resultD1Ev(%"class.boost::test_tools::predicate_result"* %ref.tmp24)
          to label %invoke.cont47 unwind label %terminate.lpad

invoke.cont47:                                    ; preds = %ehcleanup
  br label %ehcleanup264

lpad58:                                           ; preds = %invoke.cont188, %invoke.cont173, %invoke.cont170, %invoke.cont169, %invoke.cont167, %do.body165, %invoke.cont157, %invoke.cont144, %invoke.cont141, %invoke.cont140, %invoke.cont138, %do.body136, %invoke.cont128, %invoke.cont126, %do.end121, %invoke.cont113, %invoke.cont97, %invoke.cont91, %invoke.cont90, %invoke.cont88, %do.body86, %invoke.cont78, %invoke.cont65, %invoke.cont62, %invoke.cont61, %invoke.cont59, %do.body56
  %95 = landingpad { i8*, i32 } personality i8* bitcast (i32 (...)* @__gxx_personality_v0 to i8*)
          cleanup
  %96 = extractvalue { i8*, i32 } %95, 0
  store i8* %96, i8** %exn.slot
  %97 = extractvalue { i8*, i32 } %95, 1
  store i32 %97, i32* %ehselector.slot
  br label %ehcleanup197

lpad69:                                           ; preds = %invoke.cont76, %invoke.cont70, %invoke.cont67
  %98 = landingpad { i8*, i32 } personality i8* bitcast (i32 (...)* @__gxx_personality_v0 to i8*)
          cleanup
  %99 = extractvalue { i8*, i32 } %98, 0
  store i8* %99, i8** %exn.slot
  %100 = extractvalue { i8*, i32 } %98, 1
  store i32 %100, i32* %ehselector.slot
  invoke void @_ZN5boost9unit_test17lazy_ostream_implIRA1_KcED1Ev(%"class.boost::unit_test::lazy_ostream_impl"* %ref.tmp64)
          to label %invoke.cont82 unwind label %terminate.lpad

invoke.cont82:                                    ; preds = %lpad69
  br label %ehcleanup197

lpad102:                                          ; preds = %invoke.cont111, %invoke.cont106, %invoke.cont103, %invoke.cont100
  %101 = landingpad { i8*, i32 } personality i8* bitcast (i32 (...)* @__gxx_personality_v0 to i8*)
          cleanup
  %102 = extractvalue { i8*, i32 } %101, 0
  store i8* %102, i8** %exn.slot
  %103 = extractvalue { i8*, i32 } %101, 1
  store i32 %103, i32* %ehselector.slot
  br label %ehcleanup117

lpad109:                                          ; preds = %invoke.cont110, %invoke.cont107
  %104 = landingpad { i8*, i32 } personality i8* bitcast (i32 (...)* @__gxx_personality_v0 to i8*)
          cleanup
  %105 = extractvalue { i8*, i32 } %104, 0
  store i8* %105, i8** %exn.slot
  %106 = extractvalue { i8*, i32 } %104, 1
  store i32 %106, i32* %ehselector.slot
  invoke void @_ZN5boost9unit_test17lazy_ostream_implIRKNS0_13basic_cstringIKcEEED1Ev(%"class.boost::unit_test::lazy_ostream_impl.0"* %ref.tmp101)
          to label %invoke.cont115 unwind label %terminate.lpad

invoke.cont115:                                   ; preds = %lpad109
  br label %ehcleanup117

ehcleanup117:                                     ; preds = %invoke.cont115, %lpad102
  invoke void @_ZN5boost10test_tools16predicate_resultD1Ev(%"class.boost::test_tools::predicate_result"* %ref.tmp92)
          to label %invoke.cont118 unwind label %terminate.lpad

invoke.cont118:                                   ; preds = %ehcleanup117
  br label %ehcleanup197

lpad148:                                          ; preds = %invoke.cont155, %invoke.cont149, %invoke.cont146
  %107 = landingpad { i8*, i32 } personality i8* bitcast (i32 (...)* @__gxx_personality_v0 to i8*)
          cleanup
  %108 = extractvalue { i8*, i32 } %107, 0
  store i8* %108, i8** %exn.slot
  %109 = extractvalue { i8*, i32 } %107, 1
  store i32 %109, i32* %ehselector.slot
  invoke void @_ZN5boost9unit_test17lazy_ostream_implIRA1_KcED1Ev(%"class.boost::unit_test::lazy_ostream_impl"* %ref.tmp143)
          to label %invoke.cont161 unwind label %terminate.lpad

invoke.cont161:                                   ; preds = %lpad148
  br label %ehcleanup197

lpad177:                                          ; preds = %invoke.cont186, %invoke.cont179, %invoke.cont178, %invoke.cont175
  %110 = landingpad { i8*, i32 } personality i8* bitcast (i32 (...)* @__gxx_personality_v0 to i8*)
          cleanup
  %111 = extractvalue { i8*, i32 } %110, 0
  store i8* %111, i8** %exn.slot
  %112 = extractvalue { i8*, i32 } %110, 1
  store i32 %112, i32* %ehselector.slot
  invoke void @_ZN5boost9unit_test17lazy_ostream_implIRA1_KcED1Ev(%"class.boost::unit_test::lazy_ostream_impl"* %ref.tmp172)
          to label %invoke.cont192 unwind label %terminate.lpad

invoke.cont192:                                   ; preds = %lpad177
  br label %ehcleanup197

ehcleanup197:                                     ; preds = %invoke.cont192, %invoke.cont161, %invoke.cont118, %invoke.cont82, %lpad58
  invoke void @_ZN5boost2io18ios_all_word_saverD1Ev(%"class.boost::io::ios_all_word_saver"* %iaws)
          to label %invoke.cont198 unwind label %terminate.lpad

invoke.cont198:                                   ; preds = %ehcleanup197
  br label %ehcleanup264

lpad211:                                          ; preds = %invoke.cont218, %invoke.cont212, %invoke.cont209
  %113 = landingpad { i8*, i32 } personality i8* bitcast (i32 (...)* @__gxx_personality_v0 to i8*)
          cleanup
  %114 = extractvalue { i8*, i32 } %113, 0
  store i8* %114, i8** %exn.slot
  %115 = extractvalue { i8*, i32 } %113, 1
  store i32 %115, i32* %ehselector.slot
  invoke void @_ZN5boost9unit_test17lazy_ostream_implIRA1_KcED1Ev(%"class.boost::unit_test::lazy_ostream_impl"* %ref.tmp206)
          to label %invoke.cont224 unwind label %terminate.lpad

invoke.cont224:                                   ; preds = %lpad211
  br label %ehcleanup264

lpad244:                                          ; preds = %invoke.cont253, %invoke.cont248, %invoke.cont245, %invoke.cont242
  %116 = landingpad { i8*, i32 } personality i8* bitcast (i32 (...)* @__gxx_personality_v0 to i8*)
          cleanup
  %117 = extractvalue { i8*, i32 } %116, 0
  store i8* %117, i8** %exn.slot
  %118 = extractvalue { i8*, i32 } %116, 1
  store i32 %118, i32* %ehselector.slot
  br label %ehcleanup259

lpad251:                                          ; preds = %invoke.cont252, %invoke.cont249
  %119 = landingpad { i8*, i32 } personality i8* bitcast (i32 (...)* @__gxx_personality_v0 to i8*)
          cleanup
  %120 = extractvalue { i8*, i32 } %119, 0
  store i8* %120, i8** %exn.slot
  %121 = extractvalue { i8*, i32 } %119, 1
  store i32 %121, i32* %ehselector.slot
  invoke void @_ZN5boost9unit_test17lazy_ostream_implIRKNS0_13basic_cstringIKcEEED1Ev(%"class.boost::unit_test::lazy_ostream_impl.0"* %ref.tmp243)
          to label %invoke.cont257 unwind label %terminate.lpad

invoke.cont257:                                   ; preds = %lpad251
  br label %ehcleanup259

ehcleanup259:                                     ; preds = %invoke.cont257, %lpad244
  invoke void @_ZN5boost10test_tools16predicate_resultD1Ev(%"class.boost::test_tools::predicate_result"* %ref.tmp234)
          to label %invoke.cont260 unwind label %terminate.lpad

invoke.cont260:                                   ; preds = %ehcleanup259
  br label %ehcleanup264

ehcleanup264:                                     ; preds = %invoke.cont260, %invoke.cont224, %invoke.cont198, %invoke.cont47, %invoke.cont17, %lpad
  invoke void @_ZNSt18basic_stringstreamIcSt11char_traitsIcESaIcEED1Ev(%"class.std::basic_stringstream"* %ss)
          to label %invoke.cont265 unwind label %terminate.lpad

invoke.cont265:                                   ; preds = %ehcleanup264
  br label %eh.resume

eh.resume:                                        ; preds = %invoke.cont265
  %exn = load i8** %exn.slot
  %sel = load i32* %ehselector.slot
  %lpad.val = insertvalue { i8*, i32 } undef, i8* %exn, 0
  %lpad.val266 = insertvalue { i8*, i32 } %lpad.val, i32 %sel, 1
  resume { i8*, i32 } %lpad.val266

terminate.lpad:                                   ; preds = %ehcleanup264, %ehcleanup259, %lpad251, %lpad211, %ehcleanup197, %lpad177, %lpad148, %ehcleanup117, %lpad109, %lpad69, %ehcleanup, %lpad40, %lpad9
  %122 = landingpad { i8*, i32 } personality i8* bitcast (i32 (...)* @__gxx_personality_v0 to i8*)
          catch i8* null
  call void @_ZSt9terminatev() noreturn nounwind
  unreachable
}

define linkonce_odr void @_ZN5boost2io18ios_all_word_saverC1ERSt8ios_basei(%"class.boost::io::ios_all_word_saver"* %this, %"class.std::ios_base"* %s, i32 %i) unnamed_addr align 2 {
entry:
  %this.addr = alloca %"class.boost::io::ios_all_word_saver"*, align 4
  %s.addr = alloca %"class.std::ios_base"*, align 4
  %i.addr = alloca i32, align 4
  store %"class.boost::io::ios_all_word_saver"* %this, %"class.boost::io::ios_all_word_saver"** %this.addr, align 4
  store %"class.std::ios_base"* %s, %"class.std::ios_base"** %s.addr, align 4
  store i32 %i, i32* %i.addr, align 4
  %this1 = load %"class.boost::io::ios_all_word_saver"** %this.addr
  %0 = load i32* %i.addr, align 4
  %1 = load %"class.std::ios_base"** %s.addr
  call void @_ZN5boost2io18ios_all_word_saverC2ERSt8ios_basei(%"class.boost::io::ios_all_word_saver"* %this1, %"class.std::ios_base"* %1, i32 %0)
  ret void
}

define linkonce_odr void @_ZN5boost2io18ios_all_word_saverD1Ev(%"class.boost::io::ios_all_word_saver"* %this) unnamed_addr align 2 {
entry:
  %this.addr = alloca %"class.boost::io::ios_all_word_saver"*, align 4
  store %"class.boost::io::ios_all_word_saver"* %this, %"class.boost::io::ios_all_word_saver"** %this.addr, align 4
  %this1 = load %"class.boost::io::ios_all_word_saver"** %this.addr
  call void @_ZN5boost2io18ios_all_word_saverD2Ev(%"class.boost::io::ios_all_word_saver"* %this1)
  ret void
}

define %"class.boost::unit_test::test_suite"* @_Z20init_unit_test_suiteiPPc(i32, i8**) {
entry:
  %.addr = alloca i32, align 4
  %.addr1 = alloca i8**, align 4
  %test = alloca %"class.boost::unit_test::test_suite"*, align 4
  %agg.tmp = alloca %"class.boost::unit_test::basic_cstring", align 4
  %exn.slot = alloca i8*
  %ehselector.slot = alloca i32
  %ref.tmp = alloca %"class.boost::unit_test::callback0", align 4
  %agg.tmp3 = alloca %"class.boost::unit_test::basic_cstring", align 4
  %ref.tmp10 = alloca %"class.boost::unit_test::callback0", align 4
  %agg.tmp11 = alloca %"class.boost::unit_test::basic_cstring", align 4
  %ref.tmp18 = alloca %"class.boost::unit_test::callback0", align 4
  %agg.tmp19 = alloca %"class.boost::unit_test::basic_cstring", align 4
  %ref.tmp26 = alloca %"class.boost::unit_test::callback0", align 4
  %agg.tmp27 = alloca %"class.boost::unit_test::basic_cstring", align 4
  %ref.tmp34 = alloca %"class.boost::unit_test::callback0", align 4
  %agg.tmp35 = alloca %"class.boost::unit_test::basic_cstring", align 4
  %ref.tmp42 = alloca %"class.boost::unit_test::callback0", align 4
  %agg.tmp43 = alloca %"class.boost::unit_test::basic_cstring", align 4
  %ref.tmp50 = alloca %"class.boost::unit_test::callback0", align 4
  %agg.tmp51 = alloca %"class.boost::unit_test::basic_cstring", align 4
  %ref.tmp58 = alloca %"class.boost::unit_test::callback0", align 4
  %agg.tmp59 = alloca %"class.boost::unit_test::basic_cstring", align 4
  %ref.tmp66 = alloca %"class.boost::unit_test::callback0", align 4
  %agg.tmp67 = alloca %"class.boost::unit_test::basic_cstring", align 4
  %ref.tmp74 = alloca %"class.boost::unit_test::callback0", align 4
  %agg.tmp75 = alloca %"class.boost::unit_test::basic_cstring", align 4
  %ref.tmp82 = alloca %"class.boost::unit_test::callback0", align 4
  %agg.tmp83 = alloca %"class.boost::unit_test::basic_cstring", align 4
  %ref.tmp90 = alloca %"class.boost::unit_test::callback0", align 4
  %agg.tmp91 = alloca %"class.boost::unit_test::basic_cstring", align 4
  %ref.tmp98 = alloca %"class.boost::unit_test::callback0", align 4
  %agg.tmp99 = alloca %"class.boost::unit_test::basic_cstring", align 4
  %ref.tmp106 = alloca %"class.boost::unit_test::callback0", align 4
  %agg.tmp107 = alloca %"class.boost::unit_test::basic_cstring", align 4
  store i32 %0, i32* %.addr, align 4
  store i8** %1, i8*** %.addr1, align 4
  %call = call noalias i8* @_Znwj(i32 60)
  %2 = bitcast i8* %call to %"class.boost::unit_test::test_suite"*
  invoke void @_ZN5boost9unit_test13basic_cstringIKcEC1EPS2_(%"class.boost::unit_test::basic_cstring"* %agg.tmp, i8* getelementptr inbounds ([21 x i8]* @.str72, i32 0, i32 0))
          to label %invoke.cont unwind label %lpad

invoke.cont:                                      ; preds = %entry
  invoke void @_ZN5boost9unit_test10test_suiteC1ENS0_13basic_cstringIKcEE(%"class.boost::unit_test::test_suite"* %2, %"class.boost::unit_test::basic_cstring"* byval align 4 %agg.tmp)
          to label %invoke.cont2 unwind label %lpad

invoke.cont2:                                     ; preds = %invoke.cont
  store %"class.boost::unit_test::test_suite"* %2, %"class.boost::unit_test::test_suite"** %test, align 4
  %3 = load %"class.boost::unit_test::test_suite"** %test, align 4
  call void @_ZN5boost9unit_test9callback0INS0_9ut_detail6unusedEEC1IPFvvEEET_(%"class.boost::unit_test::callback0"* %ref.tmp, void ()* @_Z25ios_flags_saver_unit_testv)
  invoke void @_ZN5boost9unit_test13basic_cstringIKcEC1EPS2_j(%"class.boost::unit_test::basic_cstring"* %agg.tmp3, i8* getelementptr inbounds ([26 x i8]* @.str73, i32 0, i32 0), i32 25)
          to label %invoke.cont5 unwind label %lpad4

invoke.cont5:                                     ; preds = %invoke.cont2
  %call7 = invoke %"class.boost::unit_test::test_case"* @_ZN5boost9unit_test14make_test_caseERKNS0_9callback0INS0_9ut_detail6unusedEEENS0_13basic_cstringIKcEE(%"class.boost::unit_test::callback0"* %ref.tmp, %"class.boost::unit_test::basic_cstring"* byval align 4 %agg.tmp3)
          to label %invoke.cont6 unwind label %lpad4

invoke.cont6:                                     ; preds = %invoke.cont5
  %4 = bitcast %"class.boost::unit_test::test_case"* %call7 to %"class.boost::unit_test::test_unit"*
  invoke void @_ZN5boost9unit_test10test_suite3addEPNS0_9test_unitEmj(%"class.boost::unit_test::test_suite"* %3, %"class.boost::unit_test::test_unit"* %4, i32 0, i32 0)
          to label %invoke.cont8 unwind label %lpad4

invoke.cont8:                                     ; preds = %invoke.cont6
  call void @_ZN5boost9unit_test9callback0INS0_9ut_detail6unusedEED1Ev(%"class.boost::unit_test::callback0"* %ref.tmp)
  %5 = load %"class.boost::unit_test::test_suite"** %test, align 4
  call void @_ZN5boost9unit_test9callback0INS0_9ut_detail6unusedEEC1IPFvvEEET_(%"class.boost::unit_test::callback0"* %ref.tmp10, void ()* @_Z29ios_precision_saver_unit_testv)
  invoke void @_ZN5boost9unit_test13basic_cstringIKcEC1EPS2_j(%"class.boost::unit_test::basic_cstring"* %agg.tmp11, i8* getelementptr inbounds ([30 x i8]* @.str74, i32 0, i32 0), i32 29)
          to label %invoke.cont13 unwind label %lpad12

invoke.cont13:                                    ; preds = %invoke.cont8
  %call15 = invoke %"class.boost::unit_test::test_case"* @_ZN5boost9unit_test14make_test_caseERKNS0_9callback0INS0_9ut_detail6unusedEEENS0_13basic_cstringIKcEE(%"class.boost::unit_test::callback0"* %ref.tmp10, %"class.boost::unit_test::basic_cstring"* byval align 4 %agg.tmp11)
          to label %invoke.cont14 unwind label %lpad12

invoke.cont14:                                    ; preds = %invoke.cont13
  %6 = bitcast %"class.boost::unit_test::test_case"* %call15 to %"class.boost::unit_test::test_unit"*
  invoke void @_ZN5boost9unit_test10test_suite3addEPNS0_9test_unitEmj(%"class.boost::unit_test::test_suite"* %5, %"class.boost::unit_test::test_unit"* %6, i32 0, i32 0)
          to label %invoke.cont16 unwind label %lpad12

invoke.cont16:                                    ; preds = %invoke.cont14
  call void @_ZN5boost9unit_test9callback0INS0_9ut_detail6unusedEED1Ev(%"class.boost::unit_test::callback0"* %ref.tmp10)
  %7 = load %"class.boost::unit_test::test_suite"** %test, align 4
  call void @_ZN5boost9unit_test9callback0INS0_9ut_detail6unusedEEC1IPFvvEEET_(%"class.boost::unit_test::callback0"* %ref.tmp18, void ()* @_Z25ios_width_saver_unit_testv)
  invoke void @_ZN5boost9unit_test13basic_cstringIKcEC1EPS2_j(%"class.boost::unit_test::basic_cstring"* %agg.tmp19, i8* getelementptr inbounds ([26 x i8]* @.str75, i32 0, i32 0), i32 25)
          to label %invoke.cont21 unwind label %lpad20

invoke.cont21:                                    ; preds = %invoke.cont16
  %call23 = invoke %"class.boost::unit_test::test_case"* @_ZN5boost9unit_test14make_test_caseERKNS0_9callback0INS0_9ut_detail6unusedEEENS0_13basic_cstringIKcEE(%"class.boost::unit_test::callback0"* %ref.tmp18, %"class.boost::unit_test::basic_cstring"* byval align 4 %agg.tmp19)
          to label %invoke.cont22 unwind label %lpad20

invoke.cont22:                                    ; preds = %invoke.cont21
  %8 = bitcast %"class.boost::unit_test::test_case"* %call23 to %"class.boost::unit_test::test_unit"*
  invoke void @_ZN5boost9unit_test10test_suite3addEPNS0_9test_unitEmj(%"class.boost::unit_test::test_suite"* %7, %"class.boost::unit_test::test_unit"* %8, i32 0, i32 0)
          to label %invoke.cont24 unwind label %lpad20

invoke.cont24:                                    ; preds = %invoke.cont22
  call void @_ZN5boost9unit_test9callback0INS0_9ut_detail6unusedEED1Ev(%"class.boost::unit_test::callback0"* %ref.tmp18)
  %9 = load %"class.boost::unit_test::test_suite"** %test, align 4
  call void @_ZN5boost9unit_test9callback0INS0_9ut_detail6unusedEEC1IPFvvEEET_(%"class.boost::unit_test::callback0"* %ref.tmp26, void ()* @_Z27ios_iostate_saver_unit_testv)
  invoke void @_ZN5boost9unit_test13basic_cstringIKcEC1EPS2_j(%"class.boost::unit_test::basic_cstring"* %agg.tmp27, i8* getelementptr inbounds ([28 x i8]* @.str76, i32 0, i32 0), i32 27)
          to label %invoke.cont29 unwind label %lpad28

invoke.cont29:                                    ; preds = %invoke.cont24
  %call31 = invoke %"class.boost::unit_test::test_case"* @_ZN5boost9unit_test14make_test_caseERKNS0_9callback0INS0_9ut_detail6unusedEEENS0_13basic_cstringIKcEE(%"class.boost::unit_test::callback0"* %ref.tmp26, %"class.boost::unit_test::basic_cstring"* byval align 4 %agg.tmp27)
          to label %invoke.cont30 unwind label %lpad28

invoke.cont30:                                    ; preds = %invoke.cont29
  %10 = bitcast %"class.boost::unit_test::test_case"* %call31 to %"class.boost::unit_test::test_unit"*
  invoke void @_ZN5boost9unit_test10test_suite3addEPNS0_9test_unitEmj(%"class.boost::unit_test::test_suite"* %9, %"class.boost::unit_test::test_unit"* %10, i32 0, i32 0)
          to label %invoke.cont32 unwind label %lpad28

invoke.cont32:                                    ; preds = %invoke.cont30
  call void @_ZN5boost9unit_test9callback0INS0_9ut_detail6unusedEED1Ev(%"class.boost::unit_test::callback0"* %ref.tmp26)
  %11 = load %"class.boost::unit_test::test_suite"** %test, align 4
  call void @_ZN5boost9unit_test9callback0INS0_9ut_detail6unusedEEC1IPFvvEEET_(%"class.boost::unit_test::callback0"* %ref.tmp34, void ()* @_Z29ios_exception_saver_unit_testv)
  invoke void @_ZN5boost9unit_test13basic_cstringIKcEC1EPS2_j(%"class.boost::unit_test::basic_cstring"* %agg.tmp35, i8* getelementptr inbounds ([30 x i8]* @.str77, i32 0, i32 0), i32 29)
          to label %invoke.cont37 unwind label %lpad36

invoke.cont37:                                    ; preds = %invoke.cont32
  %call39 = invoke %"class.boost::unit_test::test_case"* @_ZN5boost9unit_test14make_test_caseERKNS0_9callback0INS0_9ut_detail6unusedEEENS0_13basic_cstringIKcEE(%"class.boost::unit_test::callback0"* %ref.tmp34, %"class.boost::unit_test::basic_cstring"* byval align 4 %agg.tmp35)
          to label %invoke.cont38 unwind label %lpad36

invoke.cont38:                                    ; preds = %invoke.cont37
  %12 = bitcast %"class.boost::unit_test::test_case"* %call39 to %"class.boost::unit_test::test_unit"*
  invoke void @_ZN5boost9unit_test10test_suite3addEPNS0_9test_unitEmj(%"class.boost::unit_test::test_suite"* %11, %"class.boost::unit_test::test_unit"* %12, i32 0, i32 0)
          to label %invoke.cont40 unwind label %lpad36

invoke.cont40:                                    ; preds = %invoke.cont38
  call void @_ZN5boost9unit_test9callback0INS0_9ut_detail6unusedEED1Ev(%"class.boost::unit_test::callback0"* %ref.tmp34)
  %13 = load %"class.boost::unit_test::test_suite"** %test, align 4
  call void @_ZN5boost9unit_test9callback0INS0_9ut_detail6unusedEEC1IPFvvEEET_(%"class.boost::unit_test::callback0"* %ref.tmp42, void ()* @_Z23ios_tie_saver_unit_testv)
  invoke void @_ZN5boost9unit_test13basic_cstringIKcEC1EPS2_j(%"class.boost::unit_test::basic_cstring"* %agg.tmp43, i8* getelementptr inbounds ([24 x i8]* @.str78, i32 0, i32 0), i32 23)
          to label %invoke.cont45 unwind label %lpad44

invoke.cont45:                                    ; preds = %invoke.cont40
  %call47 = invoke %"class.boost::unit_test::test_case"* @_ZN5boost9unit_test14make_test_caseERKNS0_9callback0INS0_9ut_detail6unusedEEENS0_13basic_cstringIKcEE(%"class.boost::unit_test::callback0"* %ref.tmp42, %"class.boost::unit_test::basic_cstring"* byval align 4 %agg.tmp43)
          to label %invoke.cont46 unwind label %lpad44

invoke.cont46:                                    ; preds = %invoke.cont45
  %14 = bitcast %"class.boost::unit_test::test_case"* %call47 to %"class.boost::unit_test::test_unit"*
  invoke void @_ZN5boost9unit_test10test_suite3addEPNS0_9test_unitEmj(%"class.boost::unit_test::test_suite"* %13, %"class.boost::unit_test::test_unit"* %14, i32 0, i32 0)
          to label %invoke.cont48 unwind label %lpad44

invoke.cont48:                                    ; preds = %invoke.cont46
  call void @_ZN5boost9unit_test9callback0INS0_9ut_detail6unusedEED1Ev(%"class.boost::unit_test::callback0"* %ref.tmp42)
  %15 = load %"class.boost::unit_test::test_suite"** %test, align 4
  call void @_ZN5boost9unit_test9callback0INS0_9ut_detail6unusedEEC1IPFvvEEET_(%"class.boost::unit_test::callback0"* %ref.tmp50, void ()* @_Z25ios_rdbuf_saver_unit_testv)
  invoke void @_ZN5boost9unit_test13basic_cstringIKcEC1EPS2_j(%"class.boost::unit_test::basic_cstring"* %agg.tmp51, i8* getelementptr inbounds ([26 x i8]* @.str79, i32 0, i32 0), i32 25)
          to label %invoke.cont53 unwind label %lpad52

invoke.cont53:                                    ; preds = %invoke.cont48
  %call55 = invoke %"class.boost::unit_test::test_case"* @_ZN5boost9unit_test14make_test_caseERKNS0_9callback0INS0_9ut_detail6unusedEEENS0_13basic_cstringIKcEE(%"class.boost::unit_test::callback0"* %ref.tmp50, %"class.boost::unit_test::basic_cstring"* byval align 4 %agg.tmp51)
          to label %invoke.cont54 unwind label %lpad52

invoke.cont54:                                    ; preds = %invoke.cont53
  %16 = bitcast %"class.boost::unit_test::test_case"* %call55 to %"class.boost::unit_test::test_unit"*
  invoke void @_ZN5boost9unit_test10test_suite3addEPNS0_9test_unitEmj(%"class.boost::unit_test::test_suite"* %15, %"class.boost::unit_test::test_unit"* %16, i32 0, i32 0)
          to label %invoke.cont56 unwind label %lpad52

invoke.cont56:                                    ; preds = %invoke.cont54
  call void @_ZN5boost9unit_test9callback0INS0_9ut_detail6unusedEED1Ev(%"class.boost::unit_test::callback0"* %ref.tmp50)
  %17 = load %"class.boost::unit_test::test_suite"** %test, align 4
  call void @_ZN5boost9unit_test9callback0INS0_9ut_detail6unusedEEC1IPFvvEEET_(%"class.boost::unit_test::callback0"* %ref.tmp58, void ()* @_Z24ios_fill_saver_unit_testv)
  invoke void @_ZN5boost9unit_test13basic_cstringIKcEC1EPS2_j(%"class.boost::unit_test::basic_cstring"* %agg.tmp59, i8* getelementptr inbounds ([25 x i8]* @.str80, i32 0, i32 0), i32 24)
          to label %invoke.cont61 unwind label %lpad60

invoke.cont61:                                    ; preds = %invoke.cont56
  %call63 = invoke %"class.boost::unit_test::test_case"* @_ZN5boost9unit_test14make_test_caseERKNS0_9callback0INS0_9ut_detail6unusedEEENS0_13basic_cstringIKcEE(%"class.boost::unit_test::callback0"* %ref.tmp58, %"class.boost::unit_test::basic_cstring"* byval align 4 %agg.tmp59)
          to label %invoke.cont62 unwind label %lpad60

invoke.cont62:                                    ; preds = %invoke.cont61
  %18 = bitcast %"class.boost::unit_test::test_case"* %call63 to %"class.boost::unit_test::test_unit"*
  invoke void @_ZN5boost9unit_test10test_suite3addEPNS0_9test_unitEmj(%"class.boost::unit_test::test_suite"* %17, %"class.boost::unit_test::test_unit"* %18, i32 0, i32 0)
          to label %invoke.cont64 unwind label %lpad60

invoke.cont64:                                    ; preds = %invoke.cont62
  call void @_ZN5boost9unit_test9callback0INS0_9ut_detail6unusedEED1Ev(%"class.boost::unit_test::callback0"* %ref.tmp58)
  %19 = load %"class.boost::unit_test::test_suite"** %test, align 4
  call void @_ZN5boost9unit_test9callback0INS0_9ut_detail6unusedEEC1IPFvvEEET_(%"class.boost::unit_test::callback0"* %ref.tmp66, void ()* @_Z26ios_locale_saver_unit_testv)
  invoke void @_ZN5boost9unit_test13basic_cstringIKcEC1EPS2_j(%"class.boost::unit_test::basic_cstring"* %agg.tmp67, i8* getelementptr inbounds ([27 x i8]* @.str81, i32 0, i32 0), i32 26)
          to label %invoke.cont69 unwind label %lpad68

invoke.cont69:                                    ; preds = %invoke.cont64
  %call71 = invoke %"class.boost::unit_test::test_case"* @_ZN5boost9unit_test14make_test_caseERKNS0_9callback0INS0_9ut_detail6unusedEEENS0_13basic_cstringIKcEE(%"class.boost::unit_test::callback0"* %ref.tmp66, %"class.boost::unit_test::basic_cstring"* byval align 4 %agg.tmp67)
          to label %invoke.cont70 unwind label %lpad68

invoke.cont70:                                    ; preds = %invoke.cont69
  %20 = bitcast %"class.boost::unit_test::test_case"* %call71 to %"class.boost::unit_test::test_unit"*
  invoke void @_ZN5boost9unit_test10test_suite3addEPNS0_9test_unitEmj(%"class.boost::unit_test::test_suite"* %19, %"class.boost::unit_test::test_unit"* %20, i32 0, i32 0)
          to label %invoke.cont72 unwind label %lpad68

invoke.cont72:                                    ; preds = %invoke.cont70
  call void @_ZN5boost9unit_test9callback0INS0_9ut_detail6unusedEED1Ev(%"class.boost::unit_test::callback0"* %ref.tmp66)
  %21 = load %"class.boost::unit_test::test_suite"** %test, align 4
  call void @_ZN5boost9unit_test9callback0INS0_9ut_detail6unusedEEC1IPFvvEEET_(%"class.boost::unit_test::callback0"* %ref.tmp74, void ()* @_Z25ios_iword_saver_unit_testv)
  invoke void @_ZN5boost9unit_test13basic_cstringIKcEC1EPS2_j(%"class.boost::unit_test::basic_cstring"* %agg.tmp75, i8* getelementptr inbounds ([26 x i8]* @.str82, i32 0, i32 0), i32 25)
          to label %invoke.cont77 unwind label %lpad76

invoke.cont77:                                    ; preds = %invoke.cont72
  %call79 = invoke %"class.boost::unit_test::test_case"* @_ZN5boost9unit_test14make_test_caseERKNS0_9callback0INS0_9ut_detail6unusedEEENS0_13basic_cstringIKcEE(%"class.boost::unit_test::callback0"* %ref.tmp74, %"class.boost::unit_test::basic_cstring"* byval align 4 %agg.tmp75)
          to label %invoke.cont78 unwind label %lpad76

invoke.cont78:                                    ; preds = %invoke.cont77
  %22 = bitcast %"class.boost::unit_test::test_case"* %call79 to %"class.boost::unit_test::test_unit"*
  invoke void @_ZN5boost9unit_test10test_suite3addEPNS0_9test_unitEmj(%"class.boost::unit_test::test_suite"* %21, %"class.boost::unit_test::test_unit"* %22, i32 0, i32 0)
          to label %invoke.cont80 unwind label %lpad76

invoke.cont80:                                    ; preds = %invoke.cont78
  call void @_ZN5boost9unit_test9callback0INS0_9ut_detail6unusedEED1Ev(%"class.boost::unit_test::callback0"* %ref.tmp74)
  %23 = load %"class.boost::unit_test::test_suite"** %test, align 4
  call void @_ZN5boost9unit_test9callback0INS0_9ut_detail6unusedEEC1IPFvvEEET_(%"class.boost::unit_test::callback0"* %ref.tmp82, void ()* @_Z25ios_pword_saver_unit_testv)
  invoke void @_ZN5boost9unit_test13basic_cstringIKcEC1EPS2_j(%"class.boost::unit_test::basic_cstring"* %agg.tmp83, i8* getelementptr inbounds ([26 x i8]* @.str83, i32 0, i32 0), i32 25)
          to label %invoke.cont85 unwind label %lpad84

invoke.cont85:                                    ; preds = %invoke.cont80
  %call87 = invoke %"class.boost::unit_test::test_case"* @_ZN5boost9unit_test14make_test_caseERKNS0_9callback0INS0_9ut_detail6unusedEEENS0_13basic_cstringIKcEE(%"class.boost::unit_test::callback0"* %ref.tmp82, %"class.boost::unit_test::basic_cstring"* byval align 4 %agg.tmp83)
          to label %invoke.cont86 unwind label %lpad84

invoke.cont86:                                    ; preds = %invoke.cont85
  %24 = bitcast %"class.boost::unit_test::test_case"* %call87 to %"class.boost::unit_test::test_unit"*
  invoke void @_ZN5boost9unit_test10test_suite3addEPNS0_9test_unitEmj(%"class.boost::unit_test::test_suite"* %23, %"class.boost::unit_test::test_unit"* %24, i32 0, i32 0)
          to label %invoke.cont88 unwind label %lpad84

invoke.cont88:                                    ; preds = %invoke.cont86
  call void @_ZN5boost9unit_test9callback0INS0_9ut_detail6unusedEED1Ev(%"class.boost::unit_test::callback0"* %ref.tmp82)
  %25 = load %"class.boost::unit_test::test_suite"** %test, align 4
  call void @_ZN5boost9unit_test9callback0INS0_9ut_detail6unusedEEC1IPFvvEEET_(%"class.boost::unit_test::callback0"* %ref.tmp90, void ()* @_Z28ios_base_all_saver_unit_testv)
  invoke void @_ZN5boost9unit_test13basic_cstringIKcEC1EPS2_j(%"class.boost::unit_test::basic_cstring"* %agg.tmp91, i8* getelementptr inbounds ([29 x i8]* @.str84, i32 0, i32 0), i32 28)
          to label %invoke.cont93 unwind label %lpad92

invoke.cont93:                                    ; preds = %invoke.cont88
  %call95 = invoke %"class.boost::unit_test::test_case"* @_ZN5boost9unit_test14make_test_caseERKNS0_9callback0INS0_9ut_detail6unusedEEENS0_13basic_cstringIKcEE(%"class.boost::unit_test::callback0"* %ref.tmp90, %"class.boost::unit_test::basic_cstring"* byval align 4 %agg.tmp91)
          to label %invoke.cont94 unwind label %lpad92

invoke.cont94:                                    ; preds = %invoke.cont93
  %26 = bitcast %"class.boost::unit_test::test_case"* %call95 to %"class.boost::unit_test::test_unit"*
  invoke void @_ZN5boost9unit_test10test_suite3addEPNS0_9test_unitEmj(%"class.boost::unit_test::test_suite"* %25, %"class.boost::unit_test::test_unit"* %26, i32 0, i32 0)
          to label %invoke.cont96 unwind label %lpad92

invoke.cont96:                                    ; preds = %invoke.cont94
  call void @_ZN5boost9unit_test9callback0INS0_9ut_detail6unusedEED1Ev(%"class.boost::unit_test::callback0"* %ref.tmp90)
  %27 = load %"class.boost::unit_test::test_suite"** %test, align 4
  call void @_ZN5boost9unit_test9callback0INS0_9ut_detail6unusedEEC1IPFvvEEET_(%"class.boost::unit_test::callback0"* %ref.tmp98, void ()* @_Z23ios_all_saver_unit_testv)
  invoke void @_ZN5boost9unit_test13basic_cstringIKcEC1EPS2_j(%"class.boost::unit_test::basic_cstring"* %agg.tmp99, i8* getelementptr inbounds ([24 x i8]* @.str85, i32 0, i32 0), i32 23)
          to label %invoke.cont101 unwind label %lpad100

invoke.cont101:                                   ; preds = %invoke.cont96
  %call103 = invoke %"class.boost::unit_test::test_case"* @_ZN5boost9unit_test14make_test_caseERKNS0_9callback0INS0_9ut_detail6unusedEEENS0_13basic_cstringIKcEE(%"class.boost::unit_test::callback0"* %ref.tmp98, %"class.boost::unit_test::basic_cstring"* byval align 4 %agg.tmp99)
          to label %invoke.cont102 unwind label %lpad100

invoke.cont102:                                   ; preds = %invoke.cont101
  %28 = bitcast %"class.boost::unit_test::test_case"* %call103 to %"class.boost::unit_test::test_unit"*
  invoke void @_ZN5boost9unit_test10test_suite3addEPNS0_9test_unitEmj(%"class.boost::unit_test::test_suite"* %27, %"class.boost::unit_test::test_unit"* %28, i32 0, i32 0)
          to label %invoke.cont104 unwind label %lpad100

invoke.cont104:                                   ; preds = %invoke.cont102
  call void @_ZN5boost9unit_test9callback0INS0_9ut_detail6unusedEED1Ev(%"class.boost::unit_test::callback0"* %ref.tmp98)
  %29 = load %"class.boost::unit_test::test_suite"** %test, align 4
  call void @_ZN5boost9unit_test9callback0INS0_9ut_detail6unusedEEC1IPFvvEEET_(%"class.boost::unit_test::callback0"* %ref.tmp106, void ()* @_Z24ios_word_saver_unit_testv)
  invoke void @_ZN5boost9unit_test13basic_cstringIKcEC1EPS2_j(%"class.boost::unit_test::basic_cstring"* %agg.tmp107, i8* getelementptr inbounds ([25 x i8]* @.str86, i32 0, i32 0), i32 24)
          to label %invoke.cont109 unwind label %lpad108

invoke.cont109:                                   ; preds = %invoke.cont104
  %call111 = invoke %"class.boost::unit_test::test_case"* @_ZN5boost9unit_test14make_test_caseERKNS0_9callback0INS0_9ut_detail6unusedEEENS0_13basic_cstringIKcEE(%"class.boost::unit_test::callback0"* %ref.tmp106, %"class.boost::unit_test::basic_cstring"* byval align 4 %agg.tmp107)
          to label %invoke.cont110 unwind label %lpad108

invoke.cont110:                                   ; preds = %invoke.cont109
  %30 = bitcast %"class.boost::unit_test::test_case"* %call111 to %"class.boost::unit_test::test_unit"*
  invoke void @_ZN5boost9unit_test10test_suite3addEPNS0_9test_unitEmj(%"class.boost::unit_test::test_suite"* %29, %"class.boost::unit_test::test_unit"* %30, i32 0, i32 0)
          to label %invoke.cont112 unwind label %lpad108

invoke.cont112:                                   ; preds = %invoke.cont110
  call void @_ZN5boost9unit_test9callback0INS0_9ut_detail6unusedEED1Ev(%"class.boost::unit_test::callback0"* %ref.tmp106)
  %31 = load %"class.boost::unit_test::test_suite"** %test, align 4
  ret %"class.boost::unit_test::test_suite"* %31

lpad:                                             ; preds = %invoke.cont, %entry
  %32 = landingpad { i8*, i32 } personality i8* bitcast (i32 (...)* @__gxx_personality_v0 to i8*)
          cleanup
  %33 = extractvalue { i8*, i32 } %32, 0
  store i8* %33, i8** %exn.slot
  %34 = extractvalue { i8*, i32 } %32, 1
  store i32 %34, i32* %ehselector.slot
  call void @_ZdlPv(i8* %call) nounwind
  br label %eh.resume

lpad4:                                            ; preds = %invoke.cont6, %invoke.cont5, %invoke.cont2
  %35 = landingpad { i8*, i32 } personality i8* bitcast (i32 (...)* @__gxx_personality_v0 to i8*)
          cleanup
  %36 = extractvalue { i8*, i32 } %35, 0
  store i8* %36, i8** %exn.slot
  %37 = extractvalue { i8*, i32 } %35, 1
  store i32 %37, i32* %ehselector.slot
  invoke void @_ZN5boost9unit_test9callback0INS0_9ut_detail6unusedEED1Ev(%"class.boost::unit_test::callback0"* %ref.tmp)
          to label %invoke.cont9 unwind label %terminate.lpad

invoke.cont9:                                     ; preds = %lpad4
  br label %eh.resume

lpad12:                                           ; preds = %invoke.cont14, %invoke.cont13, %invoke.cont8
  %38 = landingpad { i8*, i32 } personality i8* bitcast (i32 (...)* @__gxx_personality_v0 to i8*)
          cleanup
  %39 = extractvalue { i8*, i32 } %38, 0
  store i8* %39, i8** %exn.slot
  %40 = extractvalue { i8*, i32 } %38, 1
  store i32 %40, i32* %ehselector.slot
  invoke void @_ZN5boost9unit_test9callback0INS0_9ut_detail6unusedEED1Ev(%"class.boost::unit_test::callback0"* %ref.tmp10)
          to label %invoke.cont17 unwind label %terminate.lpad

invoke.cont17:                                    ; preds = %lpad12
  br label %eh.resume

lpad20:                                           ; preds = %invoke.cont22, %invoke.cont21, %invoke.cont16
  %41 = landingpad { i8*, i32 } personality i8* bitcast (i32 (...)* @__gxx_personality_v0 to i8*)
          cleanup
  %42 = extractvalue { i8*, i32 } %41, 0
  store i8* %42, i8** %exn.slot
  %43 = extractvalue { i8*, i32 } %41, 1
  store i32 %43, i32* %ehselector.slot
  invoke void @_ZN5boost9unit_test9callback0INS0_9ut_detail6unusedEED1Ev(%"class.boost::unit_test::callback0"* %ref.tmp18)
          to label %invoke.cont25 unwind label %terminate.lpad

invoke.cont25:                                    ; preds = %lpad20
  br label %eh.resume

lpad28:                                           ; preds = %invoke.cont30, %invoke.cont29, %invoke.cont24
  %44 = landingpad { i8*, i32 } personality i8* bitcast (i32 (...)* @__gxx_personality_v0 to i8*)
          cleanup
  %45 = extractvalue { i8*, i32 } %44, 0
  store i8* %45, i8** %exn.slot
  %46 = extractvalue { i8*, i32 } %44, 1
  store i32 %46, i32* %ehselector.slot
  invoke void @_ZN5boost9unit_test9callback0INS0_9ut_detail6unusedEED1Ev(%"class.boost::unit_test::callback0"* %ref.tmp26)
          to label %invoke.cont33 unwind label %terminate.lpad

invoke.cont33:                                    ; preds = %lpad28
  br label %eh.resume

lpad36:                                           ; preds = %invoke.cont38, %invoke.cont37, %invoke.cont32
  %47 = landingpad { i8*, i32 } personality i8* bitcast (i32 (...)* @__gxx_personality_v0 to i8*)
          cleanup
  %48 = extractvalue { i8*, i32 } %47, 0
  store i8* %48, i8** %exn.slot
  %49 = extractvalue { i8*, i32 } %47, 1
  store i32 %49, i32* %ehselector.slot
  invoke void @_ZN5boost9unit_test9callback0INS0_9ut_detail6unusedEED1Ev(%"class.boost::unit_test::callback0"* %ref.tmp34)
          to label %invoke.cont41 unwind label %terminate.lpad

invoke.cont41:                                    ; preds = %lpad36
  br label %eh.resume

lpad44:                                           ; preds = %invoke.cont46, %invoke.cont45, %invoke.cont40
  %50 = landingpad { i8*, i32 } personality i8* bitcast (i32 (...)* @__gxx_personality_v0 to i8*)
          cleanup
  %51 = extractvalue { i8*, i32 } %50, 0
  store i8* %51, i8** %exn.slot
  %52 = extractvalue { i8*, i32 } %50, 1
  store i32 %52, i32* %ehselector.slot
  invoke void @_ZN5boost9unit_test9callback0INS0_9ut_detail6unusedEED1Ev(%"class.boost::unit_test::callback0"* %ref.tmp42)
          to label %invoke.cont49 unwind label %terminate.lpad

invoke.cont49:                                    ; preds = %lpad44
  br label %eh.resume

lpad52:                                           ; preds = %invoke.cont54, %invoke.cont53, %invoke.cont48
  %53 = landingpad { i8*, i32 } personality i8* bitcast (i32 (...)* @__gxx_personality_v0 to i8*)
          cleanup
  %54 = extractvalue { i8*, i32 } %53, 0
  store i8* %54, i8** %exn.slot
  %55 = extractvalue { i8*, i32 } %53, 1
  store i32 %55, i32* %ehselector.slot
  invoke void @_ZN5boost9unit_test9callback0INS0_9ut_detail6unusedEED1Ev(%"class.boost::unit_test::callback0"* %ref.tmp50)
          to label %invoke.cont57 unwind label %terminate.lpad

invoke.cont57:                                    ; preds = %lpad52
  br label %eh.resume

lpad60:                                           ; preds = %invoke.cont62, %invoke.cont61, %invoke.cont56
  %56 = landingpad { i8*, i32 } personality i8* bitcast (i32 (...)* @__gxx_personality_v0 to i8*)
          cleanup
  %57 = extractvalue { i8*, i32 } %56, 0
  store i8* %57, i8** %exn.slot
  %58 = extractvalue { i8*, i32 } %56, 1
  store i32 %58, i32* %ehselector.slot
  invoke void @_ZN5boost9unit_test9callback0INS0_9ut_detail6unusedEED1Ev(%"class.boost::unit_test::callback0"* %ref.tmp58)
          to label %invoke.cont65 unwind label %terminate.lpad

invoke.cont65:                                    ; preds = %lpad60
  br label %eh.resume

lpad68:                                           ; preds = %invoke.cont70, %invoke.cont69, %invoke.cont64
  %59 = landingpad { i8*, i32 } personality i8* bitcast (i32 (...)* @__gxx_personality_v0 to i8*)
          cleanup
  %60 = extractvalue { i8*, i32 } %59, 0
  store i8* %60, i8** %exn.slot
  %61 = extractvalue { i8*, i32 } %59, 1
  store i32 %61, i32* %ehselector.slot
  invoke void @_ZN5boost9unit_test9callback0INS0_9ut_detail6unusedEED1Ev(%"class.boost::unit_test::callback0"* %ref.tmp66)
          to label %invoke.cont73 unwind label %terminate.lpad

invoke.cont73:                                    ; preds = %lpad68
  br label %eh.resume

lpad76:                                           ; preds = %invoke.cont78, %invoke.cont77, %invoke.cont72
  %62 = landingpad { i8*, i32 } personality i8* bitcast (i32 (...)* @__gxx_personality_v0 to i8*)
          cleanup
  %63 = extractvalue { i8*, i32 } %62, 0
  store i8* %63, i8** %exn.slot
  %64 = extractvalue { i8*, i32 } %62, 1
  store i32 %64, i32* %ehselector.slot
  invoke void @_ZN5boost9unit_test9callback0INS0_9ut_detail6unusedEED1Ev(%"class.boost::unit_test::callback0"* %ref.tmp74)
          to label %invoke.cont81 unwind label %terminate.lpad

invoke.cont81:                                    ; preds = %lpad76
  br label %eh.resume

lpad84:                                           ; preds = %invoke.cont86, %invoke.cont85, %invoke.cont80
  %65 = landingpad { i8*, i32 } personality i8* bitcast (i32 (...)* @__gxx_personality_v0 to i8*)
          cleanup
  %66 = extractvalue { i8*, i32 } %65, 0
  store i8* %66, i8** %exn.slot
  %67 = extractvalue { i8*, i32 } %65, 1
  store i32 %67, i32* %ehselector.slot
  invoke void @_ZN5boost9unit_test9callback0INS0_9ut_detail6unusedEED1Ev(%"class.boost::unit_test::callback0"* %ref.tmp82)
          to label %invoke.cont89 unwind label %terminate.lpad

invoke.cont89:                                    ; preds = %lpad84
  br label %eh.resume

lpad92:                                           ; preds = %invoke.cont94, %invoke.cont93, %invoke.cont88
  %68 = landingpad { i8*, i32 } personality i8* bitcast (i32 (...)* @__gxx_personality_v0 to i8*)
          cleanup
  %69 = extractvalue { i8*, i32 } %68, 0
  store i8* %69, i8** %exn.slot
  %70 = extractvalue { i8*, i32 } %68, 1
  store i32 %70, i32* %ehselector.slot
  invoke void @_ZN5boost9unit_test9callback0INS0_9ut_detail6unusedEED1Ev(%"class.boost::unit_test::callback0"* %ref.tmp90)
          to label %invoke.cont97 unwind label %terminate.lpad

invoke.cont97:                                    ; preds = %lpad92
  br label %eh.resume

lpad100:                                          ; preds = %invoke.cont102, %invoke.cont101, %invoke.cont96
  %71 = landingpad { i8*, i32 } personality i8* bitcast (i32 (...)* @__gxx_personality_v0 to i8*)
          cleanup
  %72 = extractvalue { i8*, i32 } %71, 0
  store i8* %72, i8** %exn.slot
  %73 = extractvalue { i8*, i32 } %71, 1
  store i32 %73, i32* %ehselector.slot
  invoke void @_ZN5boost9unit_test9callback0INS0_9ut_detail6unusedEED1Ev(%"class.boost::unit_test::callback0"* %ref.tmp98)
          to label %invoke.cont105 unwind label %terminate.lpad

invoke.cont105:                                   ; preds = %lpad100
  br label %eh.resume

lpad108:                                          ; preds = %invoke.cont110, %invoke.cont109, %invoke.cont104
  %74 = landingpad { i8*, i32 } personality i8* bitcast (i32 (...)* @__gxx_personality_v0 to i8*)
          cleanup
  %75 = extractvalue { i8*, i32 } %74, 0
  store i8* %75, i8** %exn.slot
  %76 = extractvalue { i8*, i32 } %74, 1
  store i32 %76, i32* %ehselector.slot
  invoke void @_ZN5boost9unit_test9callback0INS0_9ut_detail6unusedEED1Ev(%"class.boost::unit_test::callback0"* %ref.tmp106)
          to label %invoke.cont113 unwind label %terminate.lpad

invoke.cont113:                                   ; preds = %lpad108
  br label %eh.resume

eh.resume:                                        ; preds = %invoke.cont113, %invoke.cont105, %invoke.cont97, %invoke.cont89, %invoke.cont81, %invoke.cont73, %invoke.cont65, %invoke.cont57, %invoke.cont49, %invoke.cont41, %invoke.cont33, %invoke.cont25, %invoke.cont17, %invoke.cont9, %lpad
  %exn = load i8** %exn.slot
  %sel = load i32* %ehselector.slot
  %lpad.val = insertvalue { i8*, i32 } undef, i8* %exn, 0
  %lpad.val114 = insertvalue { i8*, i32 } %lpad.val, i32 %sel, 1
  resume { i8*, i32 } %lpad.val114

terminate.lpad:                                   ; preds = %lpad108, %lpad100, %lpad92, %lpad84, %lpad76, %lpad68, %lpad60, %lpad52, %lpad44, %lpad36, %lpad28, %lpad20, %lpad12, %lpad4
  %77 = landingpad { i8*, i32 } personality i8* bitcast (i32 (...)* @__gxx_personality_v0 to i8*)
          catch i8* null
  call void @_ZSt9terminatev() noreturn nounwind
  unreachable
}

declare void @_ZN5boost9unit_test10test_suiteC1ENS0_13basic_cstringIKcEE(%"class.boost::unit_test::test_suite"*, %"class.boost::unit_test::basic_cstring"* byval align 4)

define linkonce_odr void @_ZN5boost9unit_test13basic_cstringIKcEC1EPS2_(%"class.boost::unit_test::basic_cstring"* %this, i8* %s) unnamed_addr align 2 {
entry:
  %this.addr = alloca %"class.boost::unit_test::basic_cstring"*, align 4
  %s.addr = alloca i8*, align 4
  store %"class.boost::unit_test::basic_cstring"* %this, %"class.boost::unit_test::basic_cstring"** %this.addr, align 4
  store i8* %s, i8** %s.addr, align 4
  %this1 = load %"class.boost::unit_test::basic_cstring"** %this.addr
  %0 = load i8** %s.addr, align 4
  call void @_ZN5boost9unit_test13basic_cstringIKcEC2EPS2_(%"class.boost::unit_test::basic_cstring"* %this1, i8* %0)
  ret void
}

declare void @_ZN5boost9unit_test10test_suite3addEPNS0_9test_unitEmj(%"class.boost::unit_test::test_suite"*, %"class.boost::unit_test::test_unit"*, i32, i32)

define linkonce_odr %"class.boost::unit_test::test_case"* @_ZN5boost9unit_test14make_test_caseERKNS0_9callback0INS0_9ut_detail6unusedEEENS0_13basic_cstringIKcEE(%"class.boost::unit_test::callback0"* %test_func, %"class.boost::unit_test::basic_cstring"* byval align 4 %tc_name) inlinehint {
entry:
  %test_func.addr = alloca %"class.boost::unit_test::callback0"*, align 4
  %agg.tmp = alloca %"class.boost::unit_test::basic_cstring", align 4
  %ref.tmp = alloca %"class.std::basic_string", align 4
  %agg.tmp1 = alloca %"class.boost::unit_test::basic_cstring", align 4
  %exn.slot = alloca i8*
  %ehselector.slot = alloca i32
  %cleanup.isactive = alloca i1
  store %"class.boost::unit_test::callback0"* %test_func, %"class.boost::unit_test::callback0"** %test_func.addr, align 4
  %call = call noalias i8* @_Znwj(i32 52)
  store i1 true, i1* %cleanup.isactive
  %0 = bitcast i8* %call to %"class.boost::unit_test::test_case"*
  %1 = bitcast %"class.boost::unit_test::basic_cstring"* %agg.tmp1 to i8*
  %2 = bitcast %"class.boost::unit_test::basic_cstring"* %tc_name to i8*
  call void @llvm.memcpy.p0i8.p0i8.i32(i8* %1, i8* %2, i32 8, i32 4, i1 false)
  invoke void @_ZN5boost9unit_test9ut_detail24normalize_test_case_nameENS0_13basic_cstringIKcEE(%"class.std::basic_string"* sret %ref.tmp, %"class.boost::unit_test::basic_cstring"* byval align 4 %agg.tmp1)
          to label %invoke.cont unwind label %lpad

invoke.cont:                                      ; preds = %entry
  invoke void @_ZN5boost9unit_test13basic_cstringIKcEC1ERKSs(%"class.boost::unit_test::basic_cstring"* %agg.tmp, %"class.std::basic_string"* %ref.tmp)
          to label %invoke.cont3 unwind label %lpad2

invoke.cont3:                                     ; preds = %invoke.cont
  %3 = load %"class.boost::unit_test::callback0"** %test_func.addr, align 4
  invoke void @_ZN5boost9unit_test9test_caseC1ENS0_13basic_cstringIKcEERKNS0_9callback0INS0_9ut_detail6unusedEEE(%"class.boost::unit_test::test_case"* %0, %"class.boost::unit_test::basic_cstring"* byval align 4 %agg.tmp, %"class.boost::unit_test::callback0"* %3)
          to label %invoke.cont4 unwind label %lpad2

invoke.cont4:                                     ; preds = %invoke.cont3
  store i1 false, i1* %cleanup.isactive
  invoke void @_ZNSsD1Ev(%"class.std::basic_string"* %ref.tmp)
          to label %invoke.cont5 unwind label %lpad

invoke.cont5:                                     ; preds = %invoke.cont4
  ret %"class.boost::unit_test::test_case"* %0

lpad:                                             ; preds = %invoke.cont4, %entry
  %4 = landingpad { i8*, i32 } personality i8* bitcast (i32 (...)* @__gxx_personality_v0 to i8*)
          cleanup
  %5 = extractvalue { i8*, i32 } %4, 0
  store i8* %5, i8** %exn.slot
  %6 = extractvalue { i8*, i32 } %4, 1
  store i32 %6, i32* %ehselector.slot
  br label %ehcleanup

lpad2:                                            ; preds = %invoke.cont3, %invoke.cont
  %7 = landingpad { i8*, i32 } personality i8* bitcast (i32 (...)* @__gxx_personality_v0 to i8*)
          cleanup
  %8 = extractvalue { i8*, i32 } %7, 0
  store i8* %8, i8** %exn.slot
  %9 = extractvalue { i8*, i32 } %7, 1
  store i32 %9, i32* %ehselector.slot
  invoke void @_ZNSsD1Ev(%"class.std::basic_string"* %ref.tmp)
          to label %invoke.cont6 unwind label %terminate.lpad

invoke.cont6:                                     ; preds = %lpad2
  br label %ehcleanup

ehcleanup:                                        ; preds = %invoke.cont6, %lpad
  %cleanup.is_active = load i1* %cleanup.isactive
  br i1 %cleanup.is_active, label %cleanup.action, label %cleanup.done

cleanup.action:                                   ; preds = %ehcleanup
  call void @_ZdlPv(i8* %call) nounwind
  br label %cleanup.done

cleanup.done:                                     ; preds = %cleanup.action, %ehcleanup
  br label %eh.resume

eh.resume:                                        ; preds = %cleanup.done
  %exn = load i8** %exn.slot
  %sel = load i32* %ehselector.slot
  %lpad.val = insertvalue { i8*, i32 } undef, i8* %exn, 0
  %lpad.val7 = insertvalue { i8*, i32 } %lpad.val, i32 %sel, 1
  resume { i8*, i32 } %lpad.val7

terminate.lpad:                                   ; preds = %lpad2
  %10 = landingpad { i8*, i32 } personality i8* bitcast (i32 (...)* @__gxx_personality_v0 to i8*)
          catch i8* null
  call void @_ZSt9terminatev() noreturn nounwind
  unreachable
}

define linkonce_odr void @_ZN5boost9unit_test9callback0INS0_9ut_detail6unusedEEC1IPFvvEEET_(%"class.boost::unit_test::callback0"* %this, void ()* %f) unnamed_addr align 2 {
entry:
  %this.addr = alloca %"class.boost::unit_test::callback0"*, align 4
  %f.addr = alloca void ()*, align 4
  store %"class.boost::unit_test::callback0"* %this, %"class.boost::unit_test::callback0"** %this.addr, align 4
  store void ()* %f, void ()** %f.addr, align 4
  %this1 = load %"class.boost::unit_test::callback0"** %this.addr
  %0 = load void ()** %f.addr, align 4
  call void @_ZN5boost9unit_test9callback0INS0_9ut_detail6unusedEEC2IPFvvEEET_(%"class.boost::unit_test::callback0"* %this1, void ()* %0)
  ret void
}

define linkonce_odr void @_ZN5boost9unit_test9callback0INS0_9ut_detail6unusedEED1Ev(%"class.boost::unit_test::callback0"* %this) unnamed_addr inlinehint align 2 {
entry:
  %this.addr = alloca %"class.boost::unit_test::callback0"*, align 4
  store %"class.boost::unit_test::callback0"* %this, %"class.boost::unit_test::callback0"** %this.addr, align 4
  %this1 = load %"class.boost::unit_test::callback0"** %this.addr
  call void @_ZN5boost9unit_test9callback0INS0_9ut_detail6unusedEED2Ev(%"class.boost::unit_test::callback0"* %this1)
  ret void
}

define linkonce_odr void @_ZN5boost9unit_test9callback0INS0_9ut_detail6unusedEEC2IPFvvEEET_(%"class.boost::unit_test::callback0"* %this, void ()* %f) unnamed_addr align 2 {
entry:
  %this.addr = alloca %"class.boost::unit_test::callback0"*, align 4
  %f.addr = alloca void ()*, align 4
  %exn.slot = alloca i8*
  %ehselector.slot = alloca i32
  store %"class.boost::unit_test::callback0"* %this, %"class.boost::unit_test::callback0"** %this.addr, align 4
  store void ()* %f, void ()** %f.addr, align 4
  %this1 = load %"class.boost::unit_test::callback0"** %this.addr
  %m_impl = getelementptr inbounds %"class.boost::unit_test::callback0"* %this1, i32 0, i32 0
  %call = call noalias i8* @_Znwj(i32 8)
  %0 = bitcast i8* %call to %"struct.boost::unit_test::ut_detail::callback0_impl_t"*
  %1 = load void ()** %f.addr, align 4
  invoke void @_ZN5boost9unit_test9ut_detail16callback0_impl_tINS1_6unusedEPFvvEEC1ES5_(%"struct.boost::unit_test::ut_detail::callback0_impl_t"* %0, void ()* %1)
          to label %invoke.cont unwind label %lpad

invoke.cont:                                      ; preds = %entry
  call void @_ZN5boost10shared_ptrINS_9unit_test9ut_detail14callback0_implINS2_6unusedEEEEC1INS2_16callback0_impl_tIS4_PFvvEEEEEPT_(%"class.boost::shared_ptr.22"* %m_impl, %"struct.boost::unit_test::ut_detail::callback0_impl_t"* %0)
  ret void

lpad:                                             ; preds = %entry
  %2 = landingpad { i8*, i32 } personality i8* bitcast (i32 (...)* @__gxx_personality_v0 to i8*)
          cleanup
  %3 = extractvalue { i8*, i32 } %2, 0
  store i8* %3, i8** %exn.slot
  %4 = extractvalue { i8*, i32 } %2, 1
  store i32 %4, i32* %ehselector.slot
  call void @_ZdlPv(i8* %call) nounwind
  br label %eh.resume

eh.resume:                                        ; preds = %lpad
  %exn = load i8** %exn.slot
  %sel = load i32* %ehselector.slot
  %lpad.val = insertvalue { i8*, i32 } undef, i8* %exn, 0
  %lpad.val2 = insertvalue { i8*, i32 } %lpad.val, i32 %sel, 1
  resume { i8*, i32 } %lpad.val2
}

define linkonce_odr void @_ZN5boost10shared_ptrINS_9unit_test9ut_detail14callback0_implINS2_6unusedEEEEC1INS2_16callback0_impl_tIS4_PFvvEEEEEPT_(%"class.boost::shared_ptr.22"* %this, %"struct.boost::unit_test::ut_detail::callback0_impl_t"* %p) unnamed_addr align 2 {
entry:
  %this.addr = alloca %"class.boost::shared_ptr.22"*, align 4
  %p.addr = alloca %"struct.boost::unit_test::ut_detail::callback0_impl_t"*, align 4
  store %"class.boost::shared_ptr.22"* %this, %"class.boost::shared_ptr.22"** %this.addr, align 4
  store %"struct.boost::unit_test::ut_detail::callback0_impl_t"* %p, %"struct.boost::unit_test::ut_detail::callback0_impl_t"** %p.addr, align 4
  %this1 = load %"class.boost::shared_ptr.22"** %this.addr
  %0 = load %"struct.boost::unit_test::ut_detail::callback0_impl_t"** %p.addr, align 4
  call void @_ZN5boost10shared_ptrINS_9unit_test9ut_detail14callback0_implINS2_6unusedEEEEC2INS2_16callback0_impl_tIS4_PFvvEEEEEPT_(%"class.boost::shared_ptr.22"* %this1, %"struct.boost::unit_test::ut_detail::callback0_impl_t"* %0)
  ret void
}

define linkonce_odr void @_ZN5boost9unit_test9ut_detail16callback0_impl_tINS1_6unusedEPFvvEEC1ES5_(%"struct.boost::unit_test::ut_detail::callback0_impl_t"* %this, void ()* %f) unnamed_addr align 2 {
entry:
  %this.addr = alloca %"struct.boost::unit_test::ut_detail::callback0_impl_t"*, align 4
  %f.addr = alloca void ()*, align 4
  store %"struct.boost::unit_test::ut_detail::callback0_impl_t"* %this, %"struct.boost::unit_test::ut_detail::callback0_impl_t"** %this.addr, align 4
  store void ()* %f, void ()** %f.addr, align 4
  %this1 = load %"struct.boost::unit_test::ut_detail::callback0_impl_t"** %this.addr
  %0 = load void ()** %f.addr, align 4
  call void @_ZN5boost9unit_test9ut_detail16callback0_impl_tINS1_6unusedEPFvvEEC2ES5_(%"struct.boost::unit_test::ut_detail::callback0_impl_t"* %this1, void ()* %0)
  ret void
}

define linkonce_odr void @_ZN5boost9unit_test9ut_detail16callback0_impl_tINS1_6unusedEPFvvEEC2ES5_(%"struct.boost::unit_test::ut_detail::callback0_impl_t"* %this, void ()* %f) unnamed_addr nounwind align 2 {
entry:
  %this.addr = alloca %"struct.boost::unit_test::ut_detail::callback0_impl_t"*, align 4
  %f.addr = alloca void ()*, align 4
  store %"struct.boost::unit_test::ut_detail::callback0_impl_t"* %this, %"struct.boost::unit_test::ut_detail::callback0_impl_t"** %this.addr, align 4
  store void ()* %f, void ()** %f.addr, align 4
  %this1 = load %"struct.boost::unit_test::ut_detail::callback0_impl_t"** %this.addr
  %0 = bitcast %"struct.boost::unit_test::ut_detail::callback0_impl_t"* %this1 to %"struct.boost::unit_test::ut_detail::callback0_impl"*
  call void @_ZN5boost9unit_test9ut_detail14callback0_implINS1_6unusedEEC2Ev(%"struct.boost::unit_test::ut_detail::callback0_impl"* %0) nounwind
  %1 = bitcast %"struct.boost::unit_test::ut_detail::callback0_impl_t"* %this1 to i8***
  store i8** getelementptr inbounds ([5 x i8*]* @_ZTVN5boost9unit_test9ut_detail16callback0_impl_tINS1_6unusedEPFvvEEE, i64 0, i64 2), i8*** %1
  %m_f = getelementptr inbounds %"struct.boost::unit_test::ut_detail::callback0_impl_t"* %this1, i32 0, i32 1
  %2 = load void ()** %f.addr, align 4
  store void ()* %2, void ()** %m_f, align 4
  ret void
}

define linkonce_odr void @_ZN5boost9unit_test9ut_detail14callback0_implINS1_6unusedEEC2Ev(%"struct.boost::unit_test::ut_detail::callback0_impl"* %this) unnamed_addr nounwind inlinehint align 2 {
entry:
  %this.addr = alloca %"struct.boost::unit_test::ut_detail::callback0_impl"*, align 4
  store %"struct.boost::unit_test::ut_detail::callback0_impl"* %this, %"struct.boost::unit_test::ut_detail::callback0_impl"** %this.addr, align 4
  %this1 = load %"struct.boost::unit_test::ut_detail::callback0_impl"** %this.addr
  %0 = bitcast %"struct.boost::unit_test::ut_detail::callback0_impl"* %this1 to i8***
  store i8** getelementptr inbounds ([5 x i8*]* @_ZTVN5boost9unit_test9ut_detail14callback0_implINS1_6unusedEEE, i64 0, i64 2), i8*** %0
  ret void
}

define linkonce_odr void @_ZN5boost9unit_test9ut_detail16callback0_impl_tINS1_6unusedEPFvvEED1Ev(%"struct.boost::unit_test::ut_detail::callback0_impl_t"* %this) unnamed_addr inlinehint align 2 {
entry:
  %this.addr = alloca %"struct.boost::unit_test::ut_detail::callback0_impl_t"*, align 4
  store %"struct.boost::unit_test::ut_detail::callback0_impl_t"* %this, %"struct.boost::unit_test::ut_detail::callback0_impl_t"** %this.addr, align 4
  %this1 = load %"struct.boost::unit_test::ut_detail::callback0_impl_t"** %this.addr
  call void @_ZN5boost9unit_test9ut_detail16callback0_impl_tINS1_6unusedEPFvvEED2Ev(%"struct.boost::unit_test::ut_detail::callback0_impl_t"* %this1)
  ret void
}

define linkonce_odr void @_ZN5boost9unit_test9ut_detail16callback0_impl_tINS1_6unusedEPFvvEED0Ev(%"struct.boost::unit_test::ut_detail::callback0_impl_t"* %this) unnamed_addr inlinehint align 2 {
entry:
  %this.addr = alloca %"struct.boost::unit_test::ut_detail::callback0_impl_t"*, align 4
  %exn.slot = alloca i8*
  %ehselector.slot = alloca i32
  store %"struct.boost::unit_test::ut_detail::callback0_impl_t"* %this, %"struct.boost::unit_test::ut_detail::callback0_impl_t"** %this.addr, align 4
  %this1 = load %"struct.boost::unit_test::ut_detail::callback0_impl_t"** %this.addr
  invoke void @_ZN5boost9unit_test9ut_detail16callback0_impl_tINS1_6unusedEPFvvEED1Ev(%"struct.boost::unit_test::ut_detail::callback0_impl_t"* %this1)
          to label %invoke.cont unwind label %lpad

invoke.cont:                                      ; preds = %entry
  %0 = bitcast %"struct.boost::unit_test::ut_detail::callback0_impl_t"* %this1 to i8*
  call void @_ZdlPv(i8* %0) nounwind
  ret void

lpad:                                             ; preds = %entry
  %1 = landingpad { i8*, i32 } personality i8* bitcast (i32 (...)* @__gxx_personality_v0 to i8*)
          cleanup
  %2 = extractvalue { i8*, i32 } %1, 0
  store i8* %2, i8** %exn.slot
  %3 = extractvalue { i8*, i32 } %1, 1
  store i32 %3, i32* %ehselector.slot
  %4 = bitcast %"struct.boost::unit_test::ut_detail::callback0_impl_t"* %this1 to i8*
  call void @_ZdlPv(i8* %4) nounwind
  br label %eh.resume

eh.resume:                                        ; preds = %lpad
  %exn = load i8** %exn.slot
  %sel = load i32* %ehselector.slot
  %lpad.val = insertvalue { i8*, i32 } undef, i8* %exn, 0
  %lpad.val2 = insertvalue { i8*, i32 } %lpad.val, i32 %sel, 1
  resume { i8*, i32 } %lpad.val2
}

define linkonce_odr void @_ZN5boost9unit_test9ut_detail16callback0_impl_tINS1_6unusedEPFvvEE6invokeEv(%"struct.boost::unit_test::ut_detail::unused"* noalias sret %agg.result, %"struct.boost::unit_test::ut_detail::callback0_impl_t"* %this) unnamed_addr align 2 {
entry:
  %this.addr = alloca %"struct.boost::unit_test::ut_detail::callback0_impl_t"*, align 4
  %tmp = alloca %"struct.boost::unit_test::ut_detail::invoker", align 1
  store %"struct.boost::unit_test::ut_detail::callback0_impl_t"* %this, %"struct.boost::unit_test::ut_detail::callback0_impl_t"** %this.addr, align 4
  %this1 = load %"struct.boost::unit_test::ut_detail::callback0_impl_t"** %this.addr
  %m_f = getelementptr inbounds %"struct.boost::unit_test::ut_detail::callback0_impl_t"* %this1, i32 0, i32 1
  call void @_ZN5boost9unit_test9ut_detail7invokerINS1_6unusedEE6invokeIPFvvEEES3_RT_(%"struct.boost::unit_test::ut_detail::unused"* sret %agg.result, %"struct.boost::unit_test::ut_detail::invoker"* %tmp, void ()** %m_f)
  ret void
}

define linkonce_odr void @_ZN5boost9unit_test9ut_detail7invokerINS1_6unusedEE6invokeIPFvvEEES3_RT_(%"struct.boost::unit_test::ut_detail::unused"* noalias sret %agg.result, %"struct.boost::unit_test::ut_detail::invoker"* %this, void ()** %f) align 2 {
entry:
  %this.addr = alloca %"struct.boost::unit_test::ut_detail::invoker"*, align 4
  %f.addr = alloca void ()**, align 4
  store %"struct.boost::unit_test::ut_detail::invoker"* %this, %"struct.boost::unit_test::ut_detail::invoker"** %this.addr, align 4
  store void ()** %f, void ()*** %f.addr, align 4
  %this1 = load %"struct.boost::unit_test::ut_detail::invoker"** %this.addr
  %0 = load void ()*** %f.addr, align 4
  %1 = load void ()** %0, align 4
  call void %1()
  ret void
}

define linkonce_odr void @_ZN5boost9unit_test9ut_detail16callback0_impl_tINS1_6unusedEPFvvEED2Ev(%"struct.boost::unit_test::ut_detail::callback0_impl_t"* %this) unnamed_addr inlinehint align 2 {
entry:
  %this.addr = alloca %"struct.boost::unit_test::ut_detail::callback0_impl_t"*, align 4
  store %"struct.boost::unit_test::ut_detail::callback0_impl_t"* %this, %"struct.boost::unit_test::ut_detail::callback0_impl_t"** %this.addr, align 4
  %this1 = load %"struct.boost::unit_test::ut_detail::callback0_impl_t"** %this.addr
  %0 = bitcast %"struct.boost::unit_test::ut_detail::callback0_impl_t"* %this1 to %"struct.boost::unit_test::ut_detail::callback0_impl"*
  call void @_ZN5boost9unit_test9ut_detail14callback0_implINS1_6unusedEED2Ev(%"struct.boost::unit_test::ut_detail::callback0_impl"* %0)
  ret void
}

define linkonce_odr void @_ZN5boost9unit_test9ut_detail14callback0_implINS1_6unusedEED2Ev(%"struct.boost::unit_test::ut_detail::callback0_impl"* %this) unnamed_addr nounwind align 2 {
entry:
  %this.addr = alloca %"struct.boost::unit_test::ut_detail::callback0_impl"*, align 4
  store %"struct.boost::unit_test::ut_detail::callback0_impl"* %this, %"struct.boost::unit_test::ut_detail::callback0_impl"** %this.addr, align 4
  %this1 = load %"struct.boost::unit_test::ut_detail::callback0_impl"** %this.addr
  ret void
}

define linkonce_odr void @_ZN5boost9unit_test9ut_detail14callback0_implINS1_6unusedEED1Ev(%"struct.boost::unit_test::ut_detail::callback0_impl"* %this) unnamed_addr nounwind align 2 {
entry:
  %this.addr = alloca %"struct.boost::unit_test::ut_detail::callback0_impl"*, align 4
  store %"struct.boost::unit_test::ut_detail::callback0_impl"* %this, %"struct.boost::unit_test::ut_detail::callback0_impl"** %this.addr, align 4
  %this1 = load %"struct.boost::unit_test::ut_detail::callback0_impl"** %this.addr
  call void @_ZN5boost9unit_test9ut_detail14callback0_implINS1_6unusedEED2Ev(%"struct.boost::unit_test::ut_detail::callback0_impl"* %this1)
  ret void
}

define linkonce_odr void @_ZN5boost9unit_test9ut_detail14callback0_implINS1_6unusedEED0Ev(%"struct.boost::unit_test::ut_detail::callback0_impl"* %this) unnamed_addr align 2 {
entry:
  %this.addr = alloca %"struct.boost::unit_test::ut_detail::callback0_impl"*, align 4
  %exn.slot = alloca i8*
  %ehselector.slot = alloca i32
  store %"struct.boost::unit_test::ut_detail::callback0_impl"* %this, %"struct.boost::unit_test::ut_detail::callback0_impl"** %this.addr, align 4
  %this1 = load %"struct.boost::unit_test::ut_detail::callback0_impl"** %this.addr
  invoke void @_ZN5boost9unit_test9ut_detail14callback0_implINS1_6unusedEED1Ev(%"struct.boost::unit_test::ut_detail::callback0_impl"* %this1)
          to label %invoke.cont unwind label %lpad

invoke.cont:                                      ; preds = %entry
  %0 = bitcast %"struct.boost::unit_test::ut_detail::callback0_impl"* %this1 to i8*
  call void @_ZdlPv(i8* %0) nounwind
  ret void

lpad:                                             ; preds = %entry
  %1 = landingpad { i8*, i32 } personality i8* bitcast (i32 (...)* @__gxx_personality_v0 to i8*)
          cleanup
  %2 = extractvalue { i8*, i32 } %1, 0
  store i8* %2, i8** %exn.slot
  %3 = extractvalue { i8*, i32 } %1, 1
  store i32 %3, i32* %ehselector.slot
  %4 = bitcast %"struct.boost::unit_test::ut_detail::callback0_impl"* %this1 to i8*
  call void @_ZdlPv(i8* %4) nounwind
  br label %eh.resume

eh.resume:                                        ; preds = %lpad
  %exn = load i8** %exn.slot
  %sel = load i32* %ehselector.slot
  %lpad.val = insertvalue { i8*, i32 } undef, i8* %exn, 0
  %lpad.val2 = insertvalue { i8*, i32 } %lpad.val, i32 %sel, 1
  resume { i8*, i32 } %lpad.val2
}

declare void @__cxa_pure_virtual()

define linkonce_odr void @_ZN5boost10shared_ptrINS_9unit_test9ut_detail14callback0_implINS2_6unusedEEEEC2INS2_16callback0_impl_tIS4_PFvvEEEEEPT_(%"class.boost::shared_ptr.22"* %this, %"struct.boost::unit_test::ut_detail::callback0_impl_t"* %p) unnamed_addr align 2 {
entry:
  %this.addr = alloca %"class.boost::shared_ptr.22"*, align 4
  %p.addr = alloca %"struct.boost::unit_test::ut_detail::callback0_impl_t"*, align 4
  %exn.slot = alloca i8*
  %ehselector.slot = alloca i32
  store %"class.boost::shared_ptr.22"* %this, %"class.boost::shared_ptr.22"** %this.addr, align 4
  store %"struct.boost::unit_test::ut_detail::callback0_impl_t"* %p, %"struct.boost::unit_test::ut_detail::callback0_impl_t"** %p.addr, align 4
  %this1 = load %"class.boost::shared_ptr.22"** %this.addr
  %px = getelementptr inbounds %"class.boost::shared_ptr.22"* %this1, i32 0, i32 0
  %0 = load %"struct.boost::unit_test::ut_detail::callback0_impl_t"** %p.addr, align 4
  %1 = bitcast %"struct.boost::unit_test::ut_detail::callback0_impl_t"* %0 to %"struct.boost::unit_test::ut_detail::callback0_impl"*
  store %"struct.boost::unit_test::ut_detail::callback0_impl"* %1, %"struct.boost::unit_test::ut_detail::callback0_impl"** %px, align 4
  %pn = getelementptr inbounds %"class.boost::shared_ptr.22"* %this1, i32 0, i32 1
  %2 = load %"struct.boost::unit_test::ut_detail::callback0_impl_t"** %p.addr, align 4
  call void @_ZN5boost6detail12shared_countC1INS_9unit_test9ut_detail16callback0_impl_tINS4_6unusedEPFvvEEEEEPT_(%"class.boost::detail::shared_count"* %pn, %"struct.boost::unit_test::ut_detail::callback0_impl_t"* %2)
  %3 = load %"struct.boost::unit_test::ut_detail::callback0_impl_t"** %p.addr, align 4
  %4 = load %"struct.boost::unit_test::ut_detail::callback0_impl_t"** %p.addr, align 4
  invoke void (...)* @_ZN5boost6detail26sp_enable_shared_from_thisEz(%"class.boost::shared_ptr.22"* %this1, %"struct.boost::unit_test::ut_detail::callback0_impl_t"* %3, %"struct.boost::unit_test::ut_detail::callback0_impl_t"* %4)
          to label %invoke.cont unwind label %lpad

invoke.cont:                                      ; preds = %entry
  ret void

lpad:                                             ; preds = %entry
  %5 = landingpad { i8*, i32 } personality i8* bitcast (i32 (...)* @__gxx_personality_v0 to i8*)
          cleanup
  %6 = extractvalue { i8*, i32 } %5, 0
  store i8* %6, i8** %exn.slot
  %7 = extractvalue { i8*, i32 } %5, 1
  store i32 %7, i32* %ehselector.slot
  invoke void @_ZN5boost6detail12shared_countD1Ev(%"class.boost::detail::shared_count"* %pn)
          to label %invoke.cont2 unwind label %terminate.lpad

invoke.cont2:                                     ; preds = %lpad
  br label %eh.resume

eh.resume:                                        ; preds = %invoke.cont2
  %exn = load i8** %exn.slot
  %sel = load i32* %ehselector.slot
  %lpad.val = insertvalue { i8*, i32 } undef, i8* %exn, 0
  %lpad.val3 = insertvalue { i8*, i32 } %lpad.val, i32 %sel, 1
  resume { i8*, i32 } %lpad.val3

terminate.lpad:                                   ; preds = %lpad
  %8 = landingpad { i8*, i32 } personality i8* bitcast (i32 (...)* @__gxx_personality_v0 to i8*)
          catch i8* null
  call void @_ZSt9terminatev() noreturn nounwind
  unreachable
}

define linkonce_odr void @_ZN5boost6detail12shared_countC1INS_9unit_test9ut_detail16callback0_impl_tINS4_6unusedEPFvvEEEEEPT_(%"class.boost::detail::shared_count"* %this, %"struct.boost::unit_test::ut_detail::callback0_impl_t"* %p) unnamed_addr align 2 {
entry:
  %this.addr = alloca %"class.boost::detail::shared_count"*, align 4
  %p.addr = alloca %"struct.boost::unit_test::ut_detail::callback0_impl_t"*, align 4
  store %"class.boost::detail::shared_count"* %this, %"class.boost::detail::shared_count"** %this.addr, align 4
  store %"struct.boost::unit_test::ut_detail::callback0_impl_t"* %p, %"struct.boost::unit_test::ut_detail::callback0_impl_t"** %p.addr, align 4
  %this1 = load %"class.boost::detail::shared_count"** %this.addr
  %0 = load %"struct.boost::unit_test::ut_detail::callback0_impl_t"** %p.addr, align 4
  call void @_ZN5boost6detail12shared_countC2INS_9unit_test9ut_detail16callback0_impl_tINS4_6unusedEPFvvEEEEEPT_(%"class.boost::detail::shared_count"* %this1, %"struct.boost::unit_test::ut_detail::callback0_impl_t"* %0)
  ret void
}

define linkonce_odr void @_ZN5boost6detail26sp_enable_shared_from_thisEz(...) nounwind inlinehint {
entry:
  ret void
}

define linkonce_odr void @_ZN5boost6detail12shared_countD1Ev(%"class.boost::detail::shared_count"* %this) unnamed_addr align 2 {
entry:
  %this.addr = alloca %"class.boost::detail::shared_count"*, align 4
  store %"class.boost::detail::shared_count"* %this, %"class.boost::detail::shared_count"** %this.addr, align 4
  %this1 = load %"class.boost::detail::shared_count"** %this.addr
  call void @_ZN5boost6detail12shared_countD2Ev(%"class.boost::detail::shared_count"* %this1)
  ret void
}

define linkonce_odr void @_ZN5boost6detail12shared_countD2Ev(%"class.boost::detail::shared_count"* %this) unnamed_addr align 2 {
entry:
  %this.addr = alloca %"class.boost::detail::shared_count"*, align 4
  store %"class.boost::detail::shared_count"* %this, %"class.boost::detail::shared_count"** %this.addr, align 4
  %this1 = load %"class.boost::detail::shared_count"** %this.addr
  %pi_ = getelementptr inbounds %"class.boost::detail::shared_count"* %this1, i32 0, i32 0
  %0 = load %"class.boost::detail::sp_counted_base"** %pi_, align 4
  %cmp = icmp ne %"class.boost::detail::sp_counted_base"* %0, null
  br i1 %cmp, label %if.then, label %if.end

if.then:                                          ; preds = %entry
  %pi_2 = getelementptr inbounds %"class.boost::detail::shared_count"* %this1, i32 0, i32 0
  %1 = load %"class.boost::detail::sp_counted_base"** %pi_2, align 4
  call void @_ZN5boost6detail15sp_counted_base7releaseEv(%"class.boost::detail::sp_counted_base"* %1)
  br label %if.end

if.end:                                           ; preds = %if.then, %entry
  ret void
}

define linkonce_odr void @_ZN5boost6detail15sp_counted_base7releaseEv(%"class.boost::detail::sp_counted_base"* %this) align 2 {
entry:
  %this.addr = alloca %"class.boost::detail::sp_counted_base"*, align 4
  store %"class.boost::detail::sp_counted_base"* %this, %"class.boost::detail::sp_counted_base"** %this.addr, align 4
  %this1 = load %"class.boost::detail::sp_counted_base"** %this.addr
  %use_count_ = getelementptr inbounds %"class.boost::detail::sp_counted_base"* %this1, i32 0, i32 1
  %call = call i32 @_ZN5boost6detail23atomic_exchange_and_addEPii(i32* %use_count_, i32 -1)
  %cmp = icmp eq i32 %call, 1
  br i1 %cmp, label %if.then, label %if.end

if.then:                                          ; preds = %entry
  %0 = bitcast %"class.boost::detail::sp_counted_base"* %this1 to void (%"class.boost::detail::sp_counted_base"*)***
  %vtable = load void (%"class.boost::detail::sp_counted_base"*)*** %0
  %vfn = getelementptr inbounds void (%"class.boost::detail::sp_counted_base"*)** %vtable, i64 2
  %1 = load void (%"class.boost::detail::sp_counted_base"*)** %vfn
  call void %1(%"class.boost::detail::sp_counted_base"* %this1)
  call void @_ZN5boost6detail15sp_counted_base12weak_releaseEv(%"class.boost::detail::sp_counted_base"* %this1)
  br label %if.end

if.end:                                           ; preds = %if.then, %entry
  ret void
}

define linkonce_odr i32 @_ZN5boost6detail23atomic_exchange_and_addEPii(i32* %pw, i32 %dv) nounwind inlinehint {
entry:
  %pw.addr = alloca i32*, align 4
  %dv.addr = alloca i32, align 4
  %r = alloca i32, align 4
  store i32* %pw, i32** %pw.addr, align 4
  store i32 %dv, i32* %dv.addr, align 4
  %0 = load i32** %pw.addr, align 4
  %1 = load i32** %pw.addr, align 4
  %2 = load i32* %dv.addr, align 4
  %3 = call i32 asm sideeffect "lock\0A\09xadd $1, $0", "=*m,=r,*m,1,~{memory},~{cc},~{dirflag},~{fpsr},~{flags}"(i32* %0, i32* %1, i32 %2) nounwind, !srcloc !0
  store i32 %3, i32* %r, align 4
  %4 = load i32* %r, align 4
  ret i32 %4
}

define linkonce_odr void @_ZN5boost6detail15sp_counted_base12weak_releaseEv(%"class.boost::detail::sp_counted_base"* %this) align 2 {
entry:
  %this.addr = alloca %"class.boost::detail::sp_counted_base"*, align 4
  store %"class.boost::detail::sp_counted_base"* %this, %"class.boost::detail::sp_counted_base"** %this.addr, align 4
  %this1 = load %"class.boost::detail::sp_counted_base"** %this.addr
  %weak_count_ = getelementptr inbounds %"class.boost::detail::sp_counted_base"* %this1, i32 0, i32 2
  %call = call i32 @_ZN5boost6detail23atomic_exchange_and_addEPii(i32* %weak_count_, i32 -1)
  %cmp = icmp eq i32 %call, 1
  br i1 %cmp, label %if.then, label %if.end

if.then:                                          ; preds = %entry
  %0 = bitcast %"class.boost::detail::sp_counted_base"* %this1 to void (%"class.boost::detail::sp_counted_base"*)***
  %vtable = load void (%"class.boost::detail::sp_counted_base"*)*** %0
  %vfn = getelementptr inbounds void (%"class.boost::detail::sp_counted_base"*)** %vtable, i64 3
  %1 = load void (%"class.boost::detail::sp_counted_base"*)** %vfn
  call void %1(%"class.boost::detail::sp_counted_base"* %this1)
  br label %if.end

if.end:                                           ; preds = %if.then, %entry
  ret void
}

define linkonce_odr void @_ZN5boost6detail12shared_countC2INS_9unit_test9ut_detail16callback0_impl_tINS4_6unusedEPFvvEEEEEPT_(%"class.boost::detail::shared_count"* %this, %"struct.boost::unit_test::ut_detail::callback0_impl_t"* %p) unnamed_addr align 2 {
entry:
  %this.addr = alloca %"class.boost::detail::shared_count"*, align 4
  %p.addr = alloca %"struct.boost::unit_test::ut_detail::callback0_impl_t"*, align 4
  %exn.slot = alloca i8*
  %ehselector.slot = alloca i32
  store %"class.boost::detail::shared_count"* %this, %"class.boost::detail::shared_count"** %this.addr, align 4
  store %"struct.boost::unit_test::ut_detail::callback0_impl_t"* %p, %"struct.boost::unit_test::ut_detail::callback0_impl_t"** %p.addr, align 4
  %this1 = load %"class.boost::detail::shared_count"** %this.addr
  %pi_ = getelementptr inbounds %"class.boost::detail::shared_count"* %this1, i32 0, i32 0
  store %"class.boost::detail::sp_counted_base"* null, %"class.boost::detail::sp_counted_base"** %pi_, align 4
  %call = invoke noalias i8* @_Znwj(i32 16)
          to label %invoke.cont unwind label %lpad

invoke.cont:                                      ; preds = %entry
  %0 = bitcast i8* %call to %"class.boost::detail::sp_counted_impl_p"*
  %1 = load %"struct.boost::unit_test::ut_detail::callback0_impl_t"** %p.addr, align 4
  invoke void @_ZN5boost6detail17sp_counted_impl_pINS_9unit_test9ut_detail16callback0_impl_tINS3_6unusedEPFvvEEEEC1EPS8_(%"class.boost::detail::sp_counted_impl_p"* %0, %"struct.boost::unit_test::ut_detail::callback0_impl_t"* %1)
          to label %invoke.cont3 unwind label %lpad2

invoke.cont3:                                     ; preds = %invoke.cont
  %2 = bitcast %"class.boost::detail::sp_counted_impl_p"* %0 to %"class.boost::detail::sp_counted_base"*
  %pi_4 = getelementptr inbounds %"class.boost::detail::shared_count"* %this1, i32 0, i32 0
  store %"class.boost::detail::sp_counted_base"* %2, %"class.boost::detail::sp_counted_base"** %pi_4, align 4
  br label %try.cont

lpad:                                             ; preds = %entry
  %3 = landingpad { i8*, i32 } personality i8* bitcast (i32 (...)* @__gxx_personality_v0 to i8*)
          catch i8* null
  %4 = extractvalue { i8*, i32 } %3, 0
  store i8* %4, i8** %exn.slot
  %5 = extractvalue { i8*, i32 } %3, 1
  store i32 %5, i32* %ehselector.slot
  br label %catch

lpad2:                                            ; preds = %invoke.cont
  %6 = landingpad { i8*, i32 } personality i8* bitcast (i32 (...)* @__gxx_personality_v0 to i8*)
          catch i8* null
  %7 = extractvalue { i8*, i32 } %6, 0
  store i8* %7, i8** %exn.slot
  %8 = extractvalue { i8*, i32 } %6, 1
  store i32 %8, i32* %ehselector.slot
  call void @_ZdlPv(i8* %call) nounwind
  br label %catch

catch:                                            ; preds = %lpad2, %lpad
  %exn = load i8** %exn.slot
  %9 = call i8* @__cxa_begin_catch(i8* %exn) nounwind
  %10 = load %"struct.boost::unit_test::ut_detail::callback0_impl_t"** %p.addr, align 4
  invoke void @_ZN5boost14checked_deleteINS_9unit_test9ut_detail16callback0_impl_tINS2_6unusedEPFvvEEEEEvPT_(%"struct.boost::unit_test::ut_detail::callback0_impl_t"* %10)
          to label %invoke.cont6 unwind label %lpad5

invoke.cont6:                                     ; preds = %catch
  invoke void @__cxa_rethrow() noreturn
          to label %unreachable unwind label %lpad5

lpad5:                                            ; preds = %invoke.cont6, %catch
  %11 = landingpad { i8*, i32 } personality i8* bitcast (i32 (...)* @__gxx_personality_v0 to i8*)
          cleanup
  %12 = extractvalue { i8*, i32 } %11, 0
  store i8* %12, i8** %exn.slot
  %13 = extractvalue { i8*, i32 } %11, 1
  store i32 %13, i32* %ehselector.slot
  invoke void @__cxa_end_catch()
          to label %invoke.cont7 unwind label %terminate.lpad

invoke.cont7:                                     ; preds = %lpad5
  br label %eh.resume

try.cont:                                         ; preds = %invoke.cont3
  ret void

eh.resume:                                        ; preds = %invoke.cont7
  %exn8 = load i8** %exn.slot
  %sel = load i32* %ehselector.slot
  %lpad.val = insertvalue { i8*, i32 } undef, i8* %exn8, 0
  %lpad.val9 = insertvalue { i8*, i32 } %lpad.val, i32 %sel, 1
  resume { i8*, i32 } %lpad.val9

terminate.lpad:                                   ; preds = %lpad5
  %14 = landingpad { i8*, i32 } personality i8* bitcast (i32 (...)* @__gxx_personality_v0 to i8*)
          catch i8* null
  call void @_ZSt9terminatev() noreturn nounwind
  unreachable

unreachable:                                      ; preds = %invoke.cont6
  unreachable
}

define linkonce_odr void @_ZN5boost6detail17sp_counted_impl_pINS_9unit_test9ut_detail16callback0_impl_tINS3_6unusedEPFvvEEEEC1EPS8_(%"class.boost::detail::sp_counted_impl_p"* %this, %"struct.boost::unit_test::ut_detail::callback0_impl_t"* %px) unnamed_addr align 2 {
entry:
  %this.addr = alloca %"class.boost::detail::sp_counted_impl_p"*, align 4
  %px.addr = alloca %"struct.boost::unit_test::ut_detail::callback0_impl_t"*, align 4
  store %"class.boost::detail::sp_counted_impl_p"* %this, %"class.boost::detail::sp_counted_impl_p"** %this.addr, align 4
  store %"struct.boost::unit_test::ut_detail::callback0_impl_t"* %px, %"struct.boost::unit_test::ut_detail::callback0_impl_t"** %px.addr, align 4
  %this1 = load %"class.boost::detail::sp_counted_impl_p"** %this.addr
  %0 = load %"struct.boost::unit_test::ut_detail::callback0_impl_t"** %px.addr, align 4
  call void @_ZN5boost6detail17sp_counted_impl_pINS_9unit_test9ut_detail16callback0_impl_tINS3_6unusedEPFvvEEEEC2EPS8_(%"class.boost::detail::sp_counted_impl_p"* %this1, %"struct.boost::unit_test::ut_detail::callback0_impl_t"* %0)
  ret void
}

define linkonce_odr void @_ZN5boost14checked_deleteINS_9unit_test9ut_detail16callback0_impl_tINS2_6unusedEPFvvEEEEEvPT_(%"struct.boost::unit_test::ut_detail::callback0_impl_t"* %x) inlinehint {
entry:
  %x.addr = alloca %"struct.boost::unit_test::ut_detail::callback0_impl_t"*, align 4
  store %"struct.boost::unit_test::ut_detail::callback0_impl_t"* %x, %"struct.boost::unit_test::ut_detail::callback0_impl_t"** %x.addr, align 4
  %0 = load %"struct.boost::unit_test::ut_detail::callback0_impl_t"** %x.addr, align 4
  %isnull = icmp eq %"struct.boost::unit_test::ut_detail::callback0_impl_t"* %0, null
  br i1 %isnull, label %delete.end, label %delete.notnull

delete.notnull:                                   ; preds = %entry
  %1 = bitcast %"struct.boost::unit_test::ut_detail::callback0_impl_t"* %0 to void (%"struct.boost::unit_test::ut_detail::callback0_impl_t"*)***
  %vtable = load void (%"struct.boost::unit_test::ut_detail::callback0_impl_t"*)*** %1
  %vfn = getelementptr inbounds void (%"struct.boost::unit_test::ut_detail::callback0_impl_t"*)** %vtable, i64 1
  %2 = load void (%"struct.boost::unit_test::ut_detail::callback0_impl_t"*)** %vfn
  call void %2(%"struct.boost::unit_test::ut_detail::callback0_impl_t"* %0)
  br label %delete.end

delete.end:                                       ; preds = %delete.notnull, %entry
  ret void
}

declare void @__cxa_rethrow()

define linkonce_odr void @_ZN5boost6detail17sp_counted_impl_pINS_9unit_test9ut_detail16callback0_impl_tINS3_6unusedEPFvvEEEEC2EPS8_(%"class.boost::detail::sp_counted_impl_p"* %this, %"struct.boost::unit_test::ut_detail::callback0_impl_t"* %px) unnamed_addr align 2 {
entry:
  %this.addr = alloca %"class.boost::detail::sp_counted_impl_p"*, align 4
  %px.addr = alloca %"struct.boost::unit_test::ut_detail::callback0_impl_t"*, align 4
  store %"class.boost::detail::sp_counted_impl_p"* %this, %"class.boost::detail::sp_counted_impl_p"** %this.addr, align 4
  store %"struct.boost::unit_test::ut_detail::callback0_impl_t"* %px, %"struct.boost::unit_test::ut_detail::callback0_impl_t"** %px.addr, align 4
  %this1 = load %"class.boost::detail::sp_counted_impl_p"** %this.addr
  %0 = bitcast %"class.boost::detail::sp_counted_impl_p"* %this1 to %"class.boost::detail::sp_counted_base"*
  call void @_ZN5boost6detail15sp_counted_baseC2Ev(%"class.boost::detail::sp_counted_base"* %0)
  %1 = bitcast %"class.boost::detail::sp_counted_impl_p"* %this1 to i8***
  store i8** getelementptr inbounds ([7 x i8*]* @_ZTVN5boost6detail17sp_counted_impl_pINS_9unit_test9ut_detail16callback0_impl_tINS3_6unusedEPFvvEEEEE, i64 0, i64 2), i8*** %1
  %px_ = getelementptr inbounds %"class.boost::detail::sp_counted_impl_p"* %this1, i32 0, i32 1
  %2 = load %"struct.boost::unit_test::ut_detail::callback0_impl_t"** %px.addr, align 4
  store %"struct.boost::unit_test::ut_detail::callback0_impl_t"* %2, %"struct.boost::unit_test::ut_detail::callback0_impl_t"** %px_, align 4
  ret void
}

define linkonce_odr void @_ZN5boost6detail15sp_counted_baseC2Ev(%"class.boost::detail::sp_counted_base"* %this) unnamed_addr nounwind align 2 {
entry:
  %this.addr = alloca %"class.boost::detail::sp_counted_base"*, align 4
  store %"class.boost::detail::sp_counted_base"* %this, %"class.boost::detail::sp_counted_base"** %this.addr, align 4
  %this1 = load %"class.boost::detail::sp_counted_base"** %this.addr
  %0 = bitcast %"class.boost::detail::sp_counted_base"* %this1 to i8***
  store i8** getelementptr inbounds ([7 x i8*]* @_ZTVN5boost6detail15sp_counted_baseE, i64 0, i64 2), i8*** %0
  %use_count_ = getelementptr inbounds %"class.boost::detail::sp_counted_base"* %this1, i32 0, i32 1
  store i32 1, i32* %use_count_, align 4
  %weak_count_ = getelementptr inbounds %"class.boost::detail::sp_counted_base"* %this1, i32 0, i32 2
  store i32 1, i32* %weak_count_, align 4
  ret void
}

define linkonce_odr void @_ZN5boost6detail17sp_counted_impl_pINS_9unit_test9ut_detail16callback0_impl_tINS3_6unusedEPFvvEEEED1Ev(%"class.boost::detail::sp_counted_impl_p"* %this) unnamed_addr inlinehint align 2 {
entry:
  %this.addr = alloca %"class.boost::detail::sp_counted_impl_p"*, align 4
  store %"class.boost::detail::sp_counted_impl_p"* %this, %"class.boost::detail::sp_counted_impl_p"** %this.addr, align 4
  %this1 = load %"class.boost::detail::sp_counted_impl_p"** %this.addr
  call void @_ZN5boost6detail17sp_counted_impl_pINS_9unit_test9ut_detail16callback0_impl_tINS3_6unusedEPFvvEEEED2Ev(%"class.boost::detail::sp_counted_impl_p"* %this1)
  ret void
}

define linkonce_odr void @_ZN5boost6detail17sp_counted_impl_pINS_9unit_test9ut_detail16callback0_impl_tINS3_6unusedEPFvvEEEED0Ev(%"class.boost::detail::sp_counted_impl_p"* %this) unnamed_addr inlinehint align 2 {
entry:
  %this.addr = alloca %"class.boost::detail::sp_counted_impl_p"*, align 4
  %exn.slot = alloca i8*
  %ehselector.slot = alloca i32
  store %"class.boost::detail::sp_counted_impl_p"* %this, %"class.boost::detail::sp_counted_impl_p"** %this.addr, align 4
  %this1 = load %"class.boost::detail::sp_counted_impl_p"** %this.addr
  invoke void @_ZN5boost6detail17sp_counted_impl_pINS_9unit_test9ut_detail16callback0_impl_tINS3_6unusedEPFvvEEEED1Ev(%"class.boost::detail::sp_counted_impl_p"* %this1)
          to label %invoke.cont unwind label %lpad

invoke.cont:                                      ; preds = %entry
  %0 = bitcast %"class.boost::detail::sp_counted_impl_p"* %this1 to i8*
  call void @_ZdlPv(i8* %0) nounwind
  ret void

lpad:                                             ; preds = %entry
  %1 = landingpad { i8*, i32 } personality i8* bitcast (i32 (...)* @__gxx_personality_v0 to i8*)
          cleanup
  %2 = extractvalue { i8*, i32 } %1, 0
  store i8* %2, i8** %exn.slot
  %3 = extractvalue { i8*, i32 } %1, 1
  store i32 %3, i32* %ehselector.slot
  %4 = bitcast %"class.boost::detail::sp_counted_impl_p"* %this1 to i8*
  call void @_ZdlPv(i8* %4) nounwind
  br label %eh.resume

eh.resume:                                        ; preds = %lpad
  %exn = load i8** %exn.slot
  %sel = load i32* %ehselector.slot
  %lpad.val = insertvalue { i8*, i32 } undef, i8* %exn, 0
  %lpad.val2 = insertvalue { i8*, i32 } %lpad.val, i32 %sel, 1
  resume { i8*, i32 } %lpad.val2
}

define linkonce_odr void @_ZN5boost6detail17sp_counted_impl_pINS_9unit_test9ut_detail16callback0_impl_tINS3_6unusedEPFvvEEEE7disposeEv(%"class.boost::detail::sp_counted_impl_p"* %this) unnamed_addr align 2 {
entry:
  %this.addr = alloca %"class.boost::detail::sp_counted_impl_p"*, align 4
  store %"class.boost::detail::sp_counted_impl_p"* %this, %"class.boost::detail::sp_counted_impl_p"** %this.addr, align 4
  %this1 = load %"class.boost::detail::sp_counted_impl_p"** %this.addr
  %px_ = getelementptr inbounds %"class.boost::detail::sp_counted_impl_p"* %this1, i32 0, i32 1
  %0 = load %"struct.boost::unit_test::ut_detail::callback0_impl_t"** %px_, align 4
  call void @_ZN5boost14checked_deleteINS_9unit_test9ut_detail16callback0_impl_tINS2_6unusedEPFvvEEEEEvPT_(%"struct.boost::unit_test::ut_detail::callback0_impl_t"* %0)
  ret void
}

define linkonce_odr void @_ZN5boost6detail15sp_counted_base7destroyEv(%"class.boost::detail::sp_counted_base"* %this) unnamed_addr align 2 {
entry:
  %this.addr = alloca %"class.boost::detail::sp_counted_base"*, align 4
  store %"class.boost::detail::sp_counted_base"* %this, %"class.boost::detail::sp_counted_base"** %this.addr, align 4
  %this1 = load %"class.boost::detail::sp_counted_base"** %this.addr
  %isnull = icmp eq %"class.boost::detail::sp_counted_base"* %this1, null
  br i1 %isnull, label %delete.end, label %delete.notnull

delete.notnull:                                   ; preds = %entry
  %0 = bitcast %"class.boost::detail::sp_counted_base"* %this1 to void (%"class.boost::detail::sp_counted_base"*)***
  %vtable = load void (%"class.boost::detail::sp_counted_base"*)*** %0
  %vfn = getelementptr inbounds void (%"class.boost::detail::sp_counted_base"*)** %vtable, i64 1
  %1 = load void (%"class.boost::detail::sp_counted_base"*)** %vfn
  call void %1(%"class.boost::detail::sp_counted_base"* %this1)
  br label %delete.end

delete.end:                                       ; preds = %delete.notnull, %entry
  ret void
}

define linkonce_odr i8* @_ZN5boost6detail17sp_counted_impl_pINS_9unit_test9ut_detail16callback0_impl_tINS3_6unusedEPFvvEEEE11get_deleterERKSt9type_info(%"class.boost::detail::sp_counted_impl_p"* %this, %"class.std::type_info"*) unnamed_addr nounwind align 2 {
entry:
  %this.addr = alloca %"class.boost::detail::sp_counted_impl_p"*, align 4
  %.addr = alloca %"class.std::type_info"*, align 4
  store %"class.boost::detail::sp_counted_impl_p"* %this, %"class.boost::detail::sp_counted_impl_p"** %this.addr, align 4
  store %"class.std::type_info"* %0, %"class.std::type_info"** %.addr, align 4
  %this1 = load %"class.boost::detail::sp_counted_impl_p"** %this.addr
  ret i8* null
}

define linkonce_odr void @_ZN5boost6detail17sp_counted_impl_pINS_9unit_test9ut_detail16callback0_impl_tINS3_6unusedEPFvvEEEED2Ev(%"class.boost::detail::sp_counted_impl_p"* %this) unnamed_addr inlinehint align 2 {
entry:
  %this.addr = alloca %"class.boost::detail::sp_counted_impl_p"*, align 4
  store %"class.boost::detail::sp_counted_impl_p"* %this, %"class.boost::detail::sp_counted_impl_p"** %this.addr, align 4
  %this1 = load %"class.boost::detail::sp_counted_impl_p"** %this.addr
  %0 = bitcast %"class.boost::detail::sp_counted_impl_p"* %this1 to %"class.boost::detail::sp_counted_base"*
  call void @_ZN5boost6detail15sp_counted_baseD2Ev(%"class.boost::detail::sp_counted_base"* %0)
  ret void
}

define linkonce_odr void @_ZN5boost6detail15sp_counted_baseD2Ev(%"class.boost::detail::sp_counted_base"* %this) unnamed_addr nounwind align 2 {
entry:
  %this.addr = alloca %"class.boost::detail::sp_counted_base"*, align 4
  store %"class.boost::detail::sp_counted_base"* %this, %"class.boost::detail::sp_counted_base"** %this.addr, align 4
  %this1 = load %"class.boost::detail::sp_counted_base"** %this.addr
  ret void
}

define linkonce_odr void @_ZN5boost6detail15sp_counted_baseD1Ev(%"class.boost::detail::sp_counted_base"* %this) unnamed_addr nounwind align 2 {
entry:
  %this.addr = alloca %"class.boost::detail::sp_counted_base"*, align 4
  store %"class.boost::detail::sp_counted_base"* %this, %"class.boost::detail::sp_counted_base"** %this.addr, align 4
  %this1 = load %"class.boost::detail::sp_counted_base"** %this.addr
  call void @_ZN5boost6detail15sp_counted_baseD2Ev(%"class.boost::detail::sp_counted_base"* %this1)
  ret void
}

define linkonce_odr void @_ZN5boost6detail15sp_counted_baseD0Ev(%"class.boost::detail::sp_counted_base"* %this) unnamed_addr align 2 {
entry:
  %this.addr = alloca %"class.boost::detail::sp_counted_base"*, align 4
  %exn.slot = alloca i8*
  %ehselector.slot = alloca i32
  store %"class.boost::detail::sp_counted_base"* %this, %"class.boost::detail::sp_counted_base"** %this.addr, align 4
  %this1 = load %"class.boost::detail::sp_counted_base"** %this.addr
  invoke void @_ZN5boost6detail15sp_counted_baseD1Ev(%"class.boost::detail::sp_counted_base"* %this1)
          to label %invoke.cont unwind label %lpad

invoke.cont:                                      ; preds = %entry
  %0 = bitcast %"class.boost::detail::sp_counted_base"* %this1 to i8*
  call void @_ZdlPv(i8* %0) nounwind
  ret void

lpad:                                             ; preds = %entry
  %1 = landingpad { i8*, i32 } personality i8* bitcast (i32 (...)* @__gxx_personality_v0 to i8*)
          cleanup
  %2 = extractvalue { i8*, i32 } %1, 0
  store i8* %2, i8** %exn.slot
  %3 = extractvalue { i8*, i32 } %1, 1
  store i32 %3, i32* %ehselector.slot
  %4 = bitcast %"class.boost::detail::sp_counted_base"* %this1 to i8*
  call void @_ZdlPv(i8* %4) nounwind
  br label %eh.resume

eh.resume:                                        ; preds = %lpad
  %exn = load i8** %exn.slot
  %sel = load i32* %ehselector.slot
  %lpad.val = insertvalue { i8*, i32 } undef, i8* %exn, 0
  %lpad.val2 = insertvalue { i8*, i32 } %lpad.val, i32 %sel, 1
  resume { i8*, i32 } %lpad.val2
}

define linkonce_odr void @_ZNK5boost10test_tools9tt_detail15equal_impl_frwdclIPSt15basic_streambufIcSt11char_traitsIcEES8_EENS0_16predicate_resultERKT_RKT0_(%"class.boost::test_tools::predicate_result"* noalias sret %agg.result, %"struct.boost::test_tools::tt_detail::equal_impl_frwd"* %this, %"class.std::basic_streambuf"** %left, %"class.std::basic_streambuf"** %right) inlinehint align 2 {
entry:
  %this.addr = alloca %"struct.boost::test_tools::tt_detail::equal_impl_frwd"*, align 4
  %left.addr = alloca %"class.std::basic_streambuf"**, align 4
  %right.addr = alloca %"class.std::basic_streambuf"**, align 4
  %agg.tmp = alloca %"struct.mpl_::bool_", align 1
  %ref.tmp = alloca %"struct.boost::integral_constant", align 1
  store %"struct.boost::test_tools::tt_detail::equal_impl_frwd"* %this, %"struct.boost::test_tools::tt_detail::equal_impl_frwd"** %this.addr, align 4
  store %"class.std::basic_streambuf"** %left, %"class.std::basic_streambuf"*** %left.addr, align 4
  store %"class.std::basic_streambuf"** %right, %"class.std::basic_streambuf"*** %right.addr, align 4
  %this1 = load %"struct.boost::test_tools::tt_detail::equal_impl_frwd"** %this.addr
  %0 = load %"class.std::basic_streambuf"*** %left.addr, align 4
  %1 = load %"class.std::basic_streambuf"*** %right.addr, align 4
  %2 = bitcast %"struct.boost::integral_constant"* %ref.tmp to %"struct.mpl_::bool_"*
  call void @_ZNK5boost10test_tools9tt_detail15equal_impl_frwd9call_implIPSt15basic_streambufIcSt11char_traitsIcEES8_EENS0_16predicate_resultERKT_RKT0_N4mpl_5bool_ILb0EEE(%"class.boost::test_tools::predicate_result"* sret %agg.result, %"struct.boost::test_tools::tt_detail::equal_impl_frwd"* %this1, %"class.std::basic_streambuf"** %0, %"class.std::basic_streambuf"** %1)
  ret void
}

declare void @llvm.memcpy.p0i8.p0i8.i32(i8* nocapture, i8* nocapture, i32, i32, i1) nounwind

define linkonce_odr void @_ZN5boost9unit_testlsINS_10test_tools9tt_detail14print_helper_tIPSt15basic_streambufIcSt11char_traitsIcEEEEEENS0_17lazy_ostream_implIRKT_EERKNS0_12lazy_ostreamESE_(%"class.boost::unit_test::lazy_ostream_impl.23"* noalias sret %agg.result, %"class.boost::unit_test::lazy_ostream"* %prev, %"struct.boost::test_tools::tt_detail::print_helper_t"* %v) inlinehint {
entry:
  %prev.addr = alloca %"class.boost::unit_test::lazy_ostream"*, align 4
  %v.addr = alloca %"struct.boost::test_tools::tt_detail::print_helper_t"*, align 4
  store %"class.boost::unit_test::lazy_ostream"* %prev, %"class.boost::unit_test::lazy_ostream"** %prev.addr, align 4
  store %"struct.boost::test_tools::tt_detail::print_helper_t"* %v, %"struct.boost::test_tools::tt_detail::print_helper_t"** %v.addr, align 4
  %0 = load %"class.boost::unit_test::lazy_ostream"** %prev.addr, align 4
  %1 = load %"struct.boost::test_tools::tt_detail::print_helper_t"** %v.addr, align 4
  call void @_ZN5boost9unit_test17lazy_ostream_implIRKNS_10test_tools9tt_detail14print_helper_tIPSt15basic_streambufIcSt11char_traitsIcEEEEEC1ERKNS0_12lazy_ostreamESC_(%"class.boost::unit_test::lazy_ostream_impl.23"* %agg.result, %"class.boost::unit_test::lazy_ostream"* %0, %"struct.boost::test_tools::tt_detail::print_helper_t"* %1)
  ret void
}

define linkonce_odr void @_ZN5boost10test_tools9tt_detail12print_helperIPSt15basic_streambufIcSt11char_traitsIcEEEENS1_14print_helper_tIT_EERKS9_(%"struct.boost::test_tools::tt_detail::print_helper_t"* noalias sret %agg.result, %"class.std::basic_streambuf"** %t) inlinehint {
entry:
  %t.addr = alloca %"class.std::basic_streambuf"**, align 4
  store %"class.std::basic_streambuf"** %t, %"class.std::basic_streambuf"*** %t.addr, align 4
  %0 = load %"class.std::basic_streambuf"*** %t.addr, align 4
  call void @_ZN5boost10test_tools9tt_detail14print_helper_tIPSt15basic_streambufIcSt11char_traitsIcEEEC1ERKS7_(%"struct.boost::test_tools::tt_detail::print_helper_t"* %agg.result, %"class.std::basic_streambuf"** %0)
  ret void
}

define linkonce_odr void @_ZN5boost9unit_test17lazy_ostream_implIRKNS_10test_tools9tt_detail14print_helper_tIPSt15basic_streambufIcSt11char_traitsIcEEEEED1Ev(%"class.boost::unit_test::lazy_ostream_impl.23"* %this) unnamed_addr inlinehint align 2 {
entry:
  %this.addr = alloca %"class.boost::unit_test::lazy_ostream_impl.23"*, align 4
  store %"class.boost::unit_test::lazy_ostream_impl.23"* %this, %"class.boost::unit_test::lazy_ostream_impl.23"** %this.addr, align 4
  %this1 = load %"class.boost::unit_test::lazy_ostream_impl.23"** %this.addr
  call void @_ZN5boost9unit_test17lazy_ostream_implIRKNS_10test_tools9tt_detail14print_helper_tIPSt15basic_streambufIcSt11char_traitsIcEEEEED2Ev(%"class.boost::unit_test::lazy_ostream_impl.23"* %this1)
  ret void
}

define linkonce_odr void @_ZN5boost9unit_test17lazy_ostream_implIRKNS_10test_tools9tt_detail14print_helper_tIPSt15basic_streambufIcSt11char_traitsIcEEEEED2Ev(%"class.boost::unit_test::lazy_ostream_impl.23"* %this) unnamed_addr inlinehint align 2 {
entry:
  %this.addr = alloca %"class.boost::unit_test::lazy_ostream_impl.23"*, align 4
  store %"class.boost::unit_test::lazy_ostream_impl.23"* %this, %"class.boost::unit_test::lazy_ostream_impl.23"** %this.addr, align 4
  %this1 = load %"class.boost::unit_test::lazy_ostream_impl.23"** %this.addr
  %0 = bitcast %"class.boost::unit_test::lazy_ostream_impl.23"* %this1 to %"class.boost::unit_test::lazy_ostream"*
  call void @_ZN5boost9unit_test12lazy_ostreamD2Ev(%"class.boost::unit_test::lazy_ostream"* %0)
  ret void
}

define linkonce_odr void @_ZN5boost9unit_test12lazy_ostreamD2Ev(%"class.boost::unit_test::lazy_ostream"* %this) unnamed_addr nounwind align 2 {
entry:
  %this.addr = alloca %"class.boost::unit_test::lazy_ostream"*, align 4
  store %"class.boost::unit_test::lazy_ostream"* %this, %"class.boost::unit_test::lazy_ostream"** %this.addr, align 4
  %this1 = load %"class.boost::unit_test::lazy_ostream"** %this.addr
  ret void
}

define linkonce_odr void @_ZN5boost10test_tools9tt_detail14print_helper_tIPSt15basic_streambufIcSt11char_traitsIcEEEC1ERKS7_(%"struct.boost::test_tools::tt_detail::print_helper_t"* %this, %"class.std::basic_streambuf"** %t) unnamed_addr align 2 {
entry:
  %this.addr = alloca %"struct.boost::test_tools::tt_detail::print_helper_t"*, align 4
  %t.addr = alloca %"class.std::basic_streambuf"**, align 4
  store %"struct.boost::test_tools::tt_detail::print_helper_t"* %this, %"struct.boost::test_tools::tt_detail::print_helper_t"** %this.addr, align 4
  store %"class.std::basic_streambuf"** %t, %"class.std::basic_streambuf"*** %t.addr, align 4
  %this1 = load %"struct.boost::test_tools::tt_detail::print_helper_t"** %this.addr
  %0 = load %"class.std::basic_streambuf"*** %t.addr
  call void @_ZN5boost10test_tools9tt_detail14print_helper_tIPSt15basic_streambufIcSt11char_traitsIcEEEC2ERKS7_(%"struct.boost::test_tools::tt_detail::print_helper_t"* %this1, %"class.std::basic_streambuf"** %0)
  ret void
}

define linkonce_odr void @_ZN5boost10test_tools9tt_detail14print_helper_tIPSt15basic_streambufIcSt11char_traitsIcEEEC2ERKS7_(%"struct.boost::test_tools::tt_detail::print_helper_t"* %this, %"class.std::basic_streambuf"** %t) unnamed_addr nounwind align 2 {
entry:
  %this.addr = alloca %"struct.boost::test_tools::tt_detail::print_helper_t"*, align 4
  %t.addr = alloca %"class.std::basic_streambuf"**, align 4
  store %"struct.boost::test_tools::tt_detail::print_helper_t"* %this, %"struct.boost::test_tools::tt_detail::print_helper_t"** %this.addr, align 4
  store %"class.std::basic_streambuf"** %t, %"class.std::basic_streambuf"*** %t.addr, align 4
  %this1 = load %"struct.boost::test_tools::tt_detail::print_helper_t"** %this.addr
  %0 = getelementptr inbounds %"struct.boost::test_tools::tt_detail::print_helper_t"* %this1, i32 0, i32 0
  %1 = load %"class.std::basic_streambuf"*** %t.addr, align 4
  store %"class.std::basic_streambuf"** %1, %"class.std::basic_streambuf"*** %0, align 4
  ret void
}

define linkonce_odr void @_ZN5boost9unit_test17lazy_ostream_implIRKNS_10test_tools9tt_detail14print_helper_tIPSt15basic_streambufIcSt11char_traitsIcEEEEEC1ERKNS0_12lazy_ostreamESC_(%"class.boost::unit_test::lazy_ostream_impl.23"* %this, %"class.boost::unit_test::lazy_ostream"* %prev, %"struct.boost::test_tools::tt_detail::print_helper_t"* %value) unnamed_addr align 2 {
entry:
  %this.addr = alloca %"class.boost::unit_test::lazy_ostream_impl.23"*, align 4
  %prev.addr = alloca %"class.boost::unit_test::lazy_ostream"*, align 4
  %value.addr = alloca %"struct.boost::test_tools::tt_detail::print_helper_t"*, align 4
  store %"class.boost::unit_test::lazy_ostream_impl.23"* %this, %"class.boost::unit_test::lazy_ostream_impl.23"** %this.addr, align 4
  store %"class.boost::unit_test::lazy_ostream"* %prev, %"class.boost::unit_test::lazy_ostream"** %prev.addr, align 4
  store %"struct.boost::test_tools::tt_detail::print_helper_t"* %value, %"struct.boost::test_tools::tt_detail::print_helper_t"** %value.addr, align 4
  %this1 = load %"class.boost::unit_test::lazy_ostream_impl.23"** %this.addr
  %0 = load %"class.boost::unit_test::lazy_ostream"** %prev.addr
  %1 = load %"struct.boost::test_tools::tt_detail::print_helper_t"** %value.addr
  call void @_ZN5boost9unit_test17lazy_ostream_implIRKNS_10test_tools9tt_detail14print_helper_tIPSt15basic_streambufIcSt11char_traitsIcEEEEEC2ERKNS0_12lazy_ostreamESC_(%"class.boost::unit_test::lazy_ostream_impl.23"* %this1, %"class.boost::unit_test::lazy_ostream"* %0, %"struct.boost::test_tools::tt_detail::print_helper_t"* %1)
  ret void
}

define linkonce_odr void @_ZN5boost9unit_test17lazy_ostream_implIRKNS_10test_tools9tt_detail14print_helper_tIPSt15basic_streambufIcSt11char_traitsIcEEEEEC2ERKNS0_12lazy_ostreamESC_(%"class.boost::unit_test::lazy_ostream_impl.23"* %this, %"class.boost::unit_test::lazy_ostream"* %prev, %"struct.boost::test_tools::tt_detail::print_helper_t"* %value) unnamed_addr align 2 {
entry:
  %this.addr = alloca %"class.boost::unit_test::lazy_ostream_impl.23"*, align 4
  %prev.addr = alloca %"class.boost::unit_test::lazy_ostream"*, align 4
  %value.addr = alloca %"struct.boost::test_tools::tt_detail::print_helper_t"*, align 4
  store %"class.boost::unit_test::lazy_ostream_impl.23"* %this, %"class.boost::unit_test::lazy_ostream_impl.23"** %this.addr, align 4
  store %"class.boost::unit_test::lazy_ostream"* %prev, %"class.boost::unit_test::lazy_ostream"** %prev.addr, align 4
  store %"struct.boost::test_tools::tt_detail::print_helper_t"* %value, %"struct.boost::test_tools::tt_detail::print_helper_t"** %value.addr, align 4
  %this1 = load %"class.boost::unit_test::lazy_ostream_impl.23"** %this.addr
  %0 = bitcast %"class.boost::unit_test::lazy_ostream_impl.23"* %this1 to %"class.boost::unit_test::lazy_ostream"*
  call void @_ZN5boost9unit_test12lazy_ostreamC2Eb(%"class.boost::unit_test::lazy_ostream"* %0, i1 zeroext false)
  %1 = bitcast %"class.boost::unit_test::lazy_ostream_impl.23"* %this1 to i8***
  store i8** getelementptr inbounds ([5 x i8*]* @_ZTVN5boost9unit_test17lazy_ostream_implIRKNS_10test_tools9tt_detail14print_helper_tIPSt15basic_streambufIcSt11char_traitsIcEEEEEE, i64 0, i64 2), i8*** %1
  %2 = getelementptr inbounds %"class.boost::unit_test::lazy_ostream_impl.23"* %this1, i32 0, i32 1
  %3 = load %"class.boost::unit_test::lazy_ostream"** %prev.addr, align 4
  store %"class.boost::unit_test::lazy_ostream"* %3, %"class.boost::unit_test::lazy_ostream"** %2, align 4
  %4 = getelementptr inbounds %"class.boost::unit_test::lazy_ostream_impl.23"* %this1, i32 0, i32 2
  %5 = load %"struct.boost::test_tools::tt_detail::print_helper_t"** %value.addr, align 4
  store %"struct.boost::test_tools::tt_detail::print_helper_t"* %5, %"struct.boost::test_tools::tt_detail::print_helper_t"** %4, align 4
  ret void
}

define linkonce_odr void @_ZN5boost9unit_test12lazy_ostreamC2Eb(%"class.boost::unit_test::lazy_ostream"* %this, i1 zeroext %empty) unnamed_addr nounwind align 2 {
entry:
  %this.addr = alloca %"class.boost::unit_test::lazy_ostream"*, align 4
  %empty.addr = alloca i8, align 1
  store %"class.boost::unit_test::lazy_ostream"* %this, %"class.boost::unit_test::lazy_ostream"** %this.addr, align 4
  %frombool = zext i1 %empty to i8
  store i8 %frombool, i8* %empty.addr, align 1
  %this1 = load %"class.boost::unit_test::lazy_ostream"** %this.addr
  %0 = bitcast %"class.boost::unit_test::lazy_ostream"* %this1 to i8***
  store i8** getelementptr inbounds ([5 x i8*]* @_ZTVN5boost9unit_test12lazy_ostreamE, i64 0, i64 2), i8*** %0
  %m_empty = getelementptr inbounds %"class.boost::unit_test::lazy_ostream"* %this1, i32 0, i32 1
  %1 = load i8* %empty.addr, align 1
  %tobool = trunc i8 %1 to i1
  %frombool2 = zext i1 %tobool to i8
  store i8 %frombool2, i8* %m_empty, align 1
  ret void
}

define linkonce_odr %"class.std::basic_ostream"* @_ZNK5boost9unit_test17lazy_ostream_implIRKNS_10test_tools9tt_detail14print_helper_tIPSt15basic_streambufIcSt11char_traitsIcEEEEEclERSo(%"class.boost::unit_test::lazy_ostream_impl.23"* %this, %"class.std::basic_ostream"* %ostr) unnamed_addr align 2 {
entry:
  %this.addr = alloca %"class.boost::unit_test::lazy_ostream_impl.23"*, align 4
  %ostr.addr = alloca %"class.std::basic_ostream"*, align 4
  store %"class.boost::unit_test::lazy_ostream_impl.23"* %this, %"class.boost::unit_test::lazy_ostream_impl.23"** %this.addr, align 4
  store %"class.std::basic_ostream"* %ostr, %"class.std::basic_ostream"** %ostr.addr, align 4
  %this1 = load %"class.boost::unit_test::lazy_ostream_impl.23"** %this.addr
  %m_prev = getelementptr inbounds %"class.boost::unit_test::lazy_ostream_impl.23"* %this1, i32 0, i32 1
  %ref = load %"class.boost::unit_test::lazy_ostream"** %m_prev, align 4
  %0 = bitcast %"class.boost::unit_test::lazy_ostream"* %ref to %"class.std::basic_ostream"* (%"class.boost::unit_test::lazy_ostream"*, %"class.std::basic_ostream"*)***
  %vtable = load %"class.std::basic_ostream"* (%"class.boost::unit_test::lazy_ostream"*, %"class.std::basic_ostream"*)*** %0
  %vfn = getelementptr inbounds %"class.std::basic_ostream"* (%"class.boost::unit_test::lazy_ostream"*, %"class.std::basic_ostream"*)** %vtable, i64 0
  %1 = load %"class.std::basic_ostream"* (%"class.boost::unit_test::lazy_ostream"*, %"class.std::basic_ostream"*)** %vfn
  %2 = load %"class.std::basic_ostream"** %ostr.addr, align 4
  %call = call %"class.std::basic_ostream"* %1(%"class.boost::unit_test::lazy_ostream"* %ref, %"class.std::basic_ostream"* %2)
  %m_value = getelementptr inbounds %"class.boost::unit_test::lazy_ostream_impl.23"* %this1, i32 0, i32 2
  %ref2 = load %"struct.boost::test_tools::tt_detail::print_helper_t"** %m_value, align 4
  %call3 = call %"class.std::basic_ostream"* @_ZN5boost10test_tools9tt_detaillsIPSt15basic_streambufIcSt11char_traitsIcEEEERSoS8_RKNS1_14print_helper_tIT_EE(%"class.std::basic_ostream"* %call, %"struct.boost::test_tools::tt_detail::print_helper_t"* %ref2)
  ret %"class.std::basic_ostream"* %call3
}

define linkonce_odr void @_ZN5boost9unit_test17lazy_ostream_implIRKNS_10test_tools9tt_detail14print_helper_tIPSt15basic_streambufIcSt11char_traitsIcEEEEED0Ev(%"class.boost::unit_test::lazy_ostream_impl.23"* %this) unnamed_addr inlinehint align 2 {
entry:
  %this.addr = alloca %"class.boost::unit_test::lazy_ostream_impl.23"*, align 4
  %exn.slot = alloca i8*
  %ehselector.slot = alloca i32
  store %"class.boost::unit_test::lazy_ostream_impl.23"* %this, %"class.boost::unit_test::lazy_ostream_impl.23"** %this.addr, align 4
  %this1 = load %"class.boost::unit_test::lazy_ostream_impl.23"** %this.addr
  invoke void @_ZN5boost9unit_test17lazy_ostream_implIRKNS_10test_tools9tt_detail14print_helper_tIPSt15basic_streambufIcSt11char_traitsIcEEEEED1Ev(%"class.boost::unit_test::lazy_ostream_impl.23"* %this1)
          to label %invoke.cont unwind label %lpad

invoke.cont:                                      ; preds = %entry
  %0 = bitcast %"class.boost::unit_test::lazy_ostream_impl.23"* %this1 to i8*
  call void @_ZdlPv(i8* %0) nounwind
  ret void

lpad:                                             ; preds = %entry
  %1 = landingpad { i8*, i32 } personality i8* bitcast (i32 (...)* @__gxx_personality_v0 to i8*)
          cleanup
  %2 = extractvalue { i8*, i32 } %1, 0
  store i8* %2, i8** %exn.slot
  %3 = extractvalue { i8*, i32 } %1, 1
  store i32 %3, i32* %ehselector.slot
  %4 = bitcast %"class.boost::unit_test::lazy_ostream_impl.23"* %this1 to i8*
  call void @_ZdlPv(i8* %4) nounwind
  br label %eh.resume

eh.resume:                                        ; preds = %lpad
  %exn = load i8** %exn.slot
  %sel = load i32* %ehselector.slot
  %lpad.val = insertvalue { i8*, i32 } undef, i8* %exn, 0
  %lpad.val2 = insertvalue { i8*, i32 } %lpad.val, i32 %sel, 1
  resume { i8*, i32 } %lpad.val2
}

define linkonce_odr %"class.std::basic_ostream"* @_ZN5boost10test_tools9tt_detaillsIPSt15basic_streambufIcSt11char_traitsIcEEEERSoS8_RKNS1_14print_helper_tIT_EE(%"class.std::basic_ostream"* %ostr, %"struct.boost::test_tools::tt_detail::print_helper_t"* %ph) inlinehint {
entry:
  %ostr.addr = alloca %"class.std::basic_ostream"*, align 4
  %ph.addr = alloca %"struct.boost::test_tools::tt_detail::print_helper_t"*, align 4
  %tmp = alloca %"struct.boost::test_tools::print_log_value", align 1
  store %"class.std::basic_ostream"* %ostr, %"class.std::basic_ostream"** %ostr.addr, align 4
  store %"struct.boost::test_tools::tt_detail::print_helper_t"* %ph, %"struct.boost::test_tools::tt_detail::print_helper_t"** %ph.addr, align 4
  %0 = load %"class.std::basic_ostream"** %ostr.addr, align 4
  %1 = load %"struct.boost::test_tools::tt_detail::print_helper_t"** %ph.addr, align 4
  %m_t = getelementptr inbounds %"struct.boost::test_tools::tt_detail::print_helper_t"* %1, i32 0, i32 0
  %ref = load %"class.std::basic_streambuf"*** %m_t, align 4
  call void @_ZN5boost10test_tools15print_log_valueIPSt15basic_streambufIcSt11char_traitsIcEEEclERSoRKS6_(%"struct.boost::test_tools::print_log_value"* %tmp, %"class.std::basic_ostream"* %0, %"class.std::basic_streambuf"** %ref)
  %2 = load %"class.std::basic_ostream"** %ostr.addr, align 4
  ret %"class.std::basic_ostream"* %2
}

define linkonce_odr void @_ZN5boost10test_tools15print_log_valueIPSt15basic_streambufIcSt11char_traitsIcEEEclERSoRKS6_(%"struct.boost::test_tools::print_log_value"* %this, %"class.std::basic_ostream"* %ostr, %"class.std::basic_streambuf"** %t) align 2 {
entry:
  %this.addr = alloca %"struct.boost::test_tools::print_log_value"*, align 4
  %ostr.addr = alloca %"class.std::basic_ostream"*, align 4
  %t.addr = alloca %"class.std::basic_streambuf"**, align 4
  %agg.tmp = alloca %"struct.mpl_::bool_", align 1
  store %"struct.boost::test_tools::print_log_value"* %this, %"struct.boost::test_tools::print_log_value"** %this.addr, align 4
  store %"class.std::basic_ostream"* %ostr, %"class.std::basic_ostream"** %ostr.addr, align 4
  store %"class.std::basic_streambuf"** %t, %"class.std::basic_streambuf"*** %t.addr, align 4
  %this1 = load %"struct.boost::test_tools::print_log_value"** %this.addr
  %0 = load i8* @_ZN5boost10test_tools12_GLOBAL__N_110dummy_condE, align 1
  %tobool = trunc i8 %0 to i1
  br i1 %tobool, label %if.then, label %if.end

if.then:                                          ; preds = %entry
  br label %if.end

if.end:                                           ; preds = %if.then, %entry
  %1 = load %"class.std::basic_ostream"** %ostr.addr, align 4
  call void @_ZN5boost10test_tools15print_log_valueIPSt15basic_streambufIcSt11char_traitsIcEEE13set_precisionERSoN4mpl_5bool_ILb0EEE(%"struct.boost::test_tools::print_log_value"* %this1, %"class.std::basic_ostream"* %1)
  %2 = load %"class.std::basic_ostream"** %ostr.addr, align 4
  %3 = load %"class.std::basic_streambuf"*** %t.addr, align 4
  %4 = load %"class.std::basic_streambuf"** %3, align 4
  %call = call %"class.std::basic_ostream"* @_ZNSolsEPSt15basic_streambufIcSt11char_traitsIcEE(%"class.std::basic_ostream"* %2, %"class.std::basic_streambuf"* %4)
  ret void
}

define linkonce_odr void @_ZN5boost10test_tools15print_log_valueIPSt15basic_streambufIcSt11char_traitsIcEEE13set_precisionERSoN4mpl_5bool_ILb0EEE(%"struct.boost::test_tools::print_log_value"* %this, %"class.std::basic_ostream"* %ostr) nounwind align 2 {
entry:
  %this.addr = alloca %"struct.boost::test_tools::print_log_value"*, align 4
  %ostr.addr = alloca %"class.std::basic_ostream"*, align 4
  %0 = alloca %"struct.mpl_::bool_", align 1
  store %"struct.boost::test_tools::print_log_value"* %this, %"struct.boost::test_tools::print_log_value"** %this.addr, align 4
  store %"class.std::basic_ostream"* %ostr, %"class.std::basic_ostream"** %ostr.addr, align 4
  %this1 = load %"struct.boost::test_tools::print_log_value"** %this.addr
  ret void
}

declare %"class.std::basic_ostream"* @_ZNSolsEPSt15basic_streambufIcSt11char_traitsIcEE(%"class.std::basic_ostream"*, %"class.std::basic_streambuf"*)

define linkonce_odr %"class.std::basic_ostream"* @_ZNK5boost9unit_test12lazy_ostreamclERSo(%"class.boost::unit_test::lazy_ostream"* %this, %"class.std::basic_ostream"* %ostr) unnamed_addr nounwind align 2 {
entry:
  %this.addr = alloca %"class.boost::unit_test::lazy_ostream"*, align 4
  %ostr.addr = alloca %"class.std::basic_ostream"*, align 4
  store %"class.boost::unit_test::lazy_ostream"* %this, %"class.boost::unit_test::lazy_ostream"** %this.addr, align 4
  store %"class.std::basic_ostream"* %ostr, %"class.std::basic_ostream"** %ostr.addr, align 4
  %this1 = load %"class.boost::unit_test::lazy_ostream"** %this.addr
  %0 = load %"class.std::basic_ostream"** %ostr.addr, align 4
  ret %"class.std::basic_ostream"* %0
}

define linkonce_odr void @_ZN5boost9unit_test12lazy_ostreamD1Ev(%"class.boost::unit_test::lazy_ostream"* %this) unnamed_addr nounwind align 2 {
entry:
  %this.addr = alloca %"class.boost::unit_test::lazy_ostream"*, align 4
  store %"class.boost::unit_test::lazy_ostream"* %this, %"class.boost::unit_test::lazy_ostream"** %this.addr, align 4
  %this1 = load %"class.boost::unit_test::lazy_ostream"** %this.addr
  call void @_ZN5boost9unit_test12lazy_ostreamD2Ev(%"class.boost::unit_test::lazy_ostream"* %this1)
  ret void
}

define linkonce_odr void @_ZN5boost9unit_test12lazy_ostreamD0Ev(%"class.boost::unit_test::lazy_ostream"* %this) unnamed_addr align 2 {
entry:
  %this.addr = alloca %"class.boost::unit_test::lazy_ostream"*, align 4
  %exn.slot = alloca i8*
  %ehselector.slot = alloca i32
  store %"class.boost::unit_test::lazy_ostream"* %this, %"class.boost::unit_test::lazy_ostream"** %this.addr, align 4
  %this1 = load %"class.boost::unit_test::lazy_ostream"** %this.addr
  invoke void @_ZN5boost9unit_test12lazy_ostreamD1Ev(%"class.boost::unit_test::lazy_ostream"* %this1)
          to label %invoke.cont unwind label %lpad

invoke.cont:                                      ; preds = %entry
  %0 = bitcast %"class.boost::unit_test::lazy_ostream"* %this1 to i8*
  call void @_ZdlPv(i8* %0) nounwind
  ret void

lpad:                                             ; preds = %entry
  %1 = landingpad { i8*, i32 } personality i8* bitcast (i32 (...)* @__gxx_personality_v0 to i8*)
          cleanup
  %2 = extractvalue { i8*, i32 } %1, 0
  store i8* %2, i8** %exn.slot
  %3 = extractvalue { i8*, i32 } %1, 1
  store i32 %3, i32* %ehselector.slot
  %4 = bitcast %"class.boost::unit_test::lazy_ostream"* %this1 to i8*
  call void @_ZdlPv(i8* %4) nounwind
  br label %eh.resume

eh.resume:                                        ; preds = %lpad
  %exn = load i8** %exn.slot
  %sel = load i32* %ehselector.slot
  %lpad.val = insertvalue { i8*, i32 } undef, i8* %exn, 0
  %lpad.val2 = insertvalue { i8*, i32 } %lpad.val, i32 %sel, 1
  resume { i8*, i32 } %lpad.val2
}

define linkonce_odr void @_ZNK5boost10test_tools9tt_detail15equal_impl_frwd9call_implIPSt15basic_streambufIcSt11char_traitsIcEES8_EENS0_16predicate_resultERKT_RKT0_N4mpl_5bool_ILb0EEE(%"class.boost::test_tools::predicate_result"* noalias sret %agg.result, %"struct.boost::test_tools::tt_detail::equal_impl_frwd"* %this, %"class.std::basic_streambuf"** %left, %"class.std::basic_streambuf"** %right) inlinehint align 2 {
entry:
  %this.addr = alloca %"struct.boost::test_tools::tt_detail::equal_impl_frwd"*, align 4
  %left.addr = alloca %"class.std::basic_streambuf"**, align 4
  %right.addr = alloca %"class.std::basic_streambuf"**, align 4
  %0 = alloca %"struct.mpl_::bool_", align 1
  store %"struct.boost::test_tools::tt_detail::equal_impl_frwd"* %this, %"struct.boost::test_tools::tt_detail::equal_impl_frwd"** %this.addr, align 4
  store %"class.std::basic_streambuf"** %left, %"class.std::basic_streambuf"*** %left.addr, align 4
  store %"class.std::basic_streambuf"** %right, %"class.std::basic_streambuf"*** %right.addr, align 4
  %this1 = load %"struct.boost::test_tools::tt_detail::equal_impl_frwd"** %this.addr
  %1 = load %"class.std::basic_streambuf"*** %left.addr, align 4
  %2 = load %"class.std::basic_streambuf"*** %right.addr, align 4
  call void @_ZN5boost10test_tools9tt_detail10equal_implIPSt15basic_streambufIcSt11char_traitsIcEES7_EENS0_16predicate_resultERKT_RKT0_(%"class.boost::test_tools::predicate_result"* sret %agg.result, %"class.std::basic_streambuf"** %1, %"class.std::basic_streambuf"** %2)
  ret void
}

define linkonce_odr void @_ZN5boost10test_tools9tt_detail10equal_implIPSt15basic_streambufIcSt11char_traitsIcEES7_EENS0_16predicate_resultERKT_RKT0_(%"class.boost::test_tools::predicate_result"* noalias sret %agg.result, %"class.std::basic_streambuf"** %left, %"class.std::basic_streambuf"** %right) {
entry:
  %left.addr = alloca %"class.std::basic_streambuf"**, align 4
  %right.addr = alloca %"class.std::basic_streambuf"**, align 4
  store %"class.std::basic_streambuf"** %left, %"class.std::basic_streambuf"*** %left.addr, align 4
  store %"class.std::basic_streambuf"** %right, %"class.std::basic_streambuf"*** %right.addr, align 4
  %0 = load %"class.std::basic_streambuf"*** %left.addr, align 4
  %1 = load %"class.std::basic_streambuf"** %0, align 4
  %2 = load %"class.std::basic_streambuf"*** %right.addr, align 4
  %3 = load %"class.std::basic_streambuf"** %2, align 4
  %cmp = icmp eq %"class.std::basic_streambuf"* %1, %3
  call void @_ZN5boost10test_tools16predicate_resultC1Eb(%"class.boost::test_tools::predicate_result"* %agg.result, i1 zeroext %cmp)
  ret void
}

define linkonce_odr void @_ZN5boost2io19basic_ios_all_saverIcSt11char_traitsIcEED2Ev(%"class.boost::io::basic_ios_all_saver"* %this) unnamed_addr align 2 {
entry:
  %this.addr = alloca %"class.boost::io::basic_ios_all_saver"*, align 4
  %exn.slot = alloca i8*
  %ehselector.slot = alloca i32
  store %"class.boost::io::basic_ios_all_saver"* %this, %"class.boost::io::basic_ios_all_saver"** %this.addr, align 4
  %this1 = load %"class.boost::io::basic_ios_all_saver"** %this.addr
  invoke void @_ZN5boost2io19basic_ios_all_saverIcSt11char_traitsIcEE7restoreEv(%"class.boost::io::basic_ios_all_saver"* %this1)
          to label %invoke.cont unwind label %lpad

invoke.cont:                                      ; preds = %entry
  %a9_save_ = getelementptr inbounds %"class.boost::io::basic_ios_all_saver"* %this1, i32 0, i32 9
  call void @_ZNSt6localeD1Ev(%"class.std::locale"* %a9_save_) nounwind
  ret void

lpad:                                             ; preds = %entry
  %0 = landingpad { i8*, i32 } personality i8* bitcast (i32 (...)* @__gxx_personality_v0 to i8*)
          cleanup
  %1 = extractvalue { i8*, i32 } %0, 0
  store i8* %1, i8** %exn.slot
  %2 = extractvalue { i8*, i32 } %0, 1
  store i32 %2, i32* %ehselector.slot
  %a9_save_2 = getelementptr inbounds %"class.boost::io::basic_ios_all_saver"* %this1, i32 0, i32 9
  call void @_ZNSt6localeD1Ev(%"class.std::locale"* %a9_save_2) nounwind
  br label %eh.resume

eh.resume:                                        ; preds = %lpad
  %exn = load i8** %exn.slot
  %sel = load i32* %ehselector.slot
  %lpad.val = insertvalue { i8*, i32 } undef, i8* %exn, 0
  %lpad.val3 = insertvalue { i8*, i32 } %lpad.val, i32 %sel, 1
  resume { i8*, i32 } %lpad.val3
}

define linkonce_odr void @_ZN5boost2io19basic_ios_all_saverIcSt11char_traitsIcEE7restoreEv(%"class.boost::io::basic_ios_all_saver"* %this) align 2 {
entry:
  %this.addr = alloca %"class.boost::io::basic_ios_all_saver"*, align 4
  %agg.tmp.ensured = alloca %"class.std::locale", align 4
  store %"class.boost::io::basic_ios_all_saver"* %this, %"class.boost::io::basic_ios_all_saver"** %this.addr, align 4
  %this1 = load %"class.boost::io::basic_ios_all_saver"** %this.addr
  %s_save_ = getelementptr inbounds %"class.boost::io::basic_ios_all_saver"* %this1, i32 0, i32 0
  %ref = load %"class.std::basic_ios"** %s_save_, align 4
  %a9_save_ = getelementptr inbounds %"class.boost::io::basic_ios_all_saver"* %this1, i32 0, i32 9
  call void @_ZNSt9basic_iosIcSt11char_traitsIcEE5imbueERKSt6locale(%"class.std::locale"* sret %agg.tmp.ensured, %"class.std::basic_ios"* %ref, %"class.std::locale"* %a9_save_)
  call void @_ZNSt6localeD1Ev(%"class.std::locale"* %agg.tmp.ensured) nounwind
  %s_save_2 = getelementptr inbounds %"class.boost::io::basic_ios_all_saver"* %this1, i32 0, i32 0
  %ref3 = load %"class.std::basic_ios"** %s_save_2, align 4
  %a8_save_ = getelementptr inbounds %"class.boost::io::basic_ios_all_saver"* %this1, i32 0, i32 8
  %0 = load i8* %a8_save_, align 1
  %call = call signext i8 @_ZNSt9basic_iosIcSt11char_traitsIcEE4fillEc(%"class.std::basic_ios"* %ref3, i8 signext %0)
  %s_save_4 = getelementptr inbounds %"class.boost::io::basic_ios_all_saver"* %this1, i32 0, i32 0
  %ref5 = load %"class.std::basic_ios"** %s_save_4, align 4
  %a7_save_ = getelementptr inbounds %"class.boost::io::basic_ios_all_saver"* %this1, i32 0, i32 7
  %1 = load %"class.std::basic_streambuf"** %a7_save_, align 4
  %call6 = call %"class.std::basic_streambuf"* @_ZNSt9basic_iosIcSt11char_traitsIcEE5rdbufEPSt15basic_streambufIcS1_E(%"class.std::basic_ios"* %ref5, %"class.std::basic_streambuf"* %1)
  %s_save_7 = getelementptr inbounds %"class.boost::io::basic_ios_all_saver"* %this1, i32 0, i32 0
  %ref8 = load %"class.std::basic_ios"** %s_save_7, align 4
  %a6_save_ = getelementptr inbounds %"class.boost::io::basic_ios_all_saver"* %this1, i32 0, i32 6
  %2 = load %"class.std::basic_ostream"** %a6_save_, align 4
  %call9 = call %"class.std::basic_ostream"* @_ZNSt9basic_iosIcSt11char_traitsIcEE3tieEPSo(%"class.std::basic_ios"* %ref8, %"class.std::basic_ostream"* %2)
  %s_save_10 = getelementptr inbounds %"class.boost::io::basic_ios_all_saver"* %this1, i32 0, i32 0
  %ref11 = load %"class.std::basic_ios"** %s_save_10, align 4
  %a5_save_ = getelementptr inbounds %"class.boost::io::basic_ios_all_saver"* %this1, i32 0, i32 5
  %3 = load i32* %a5_save_, align 4
  call void @_ZNSt9basic_iosIcSt11char_traitsIcEE10exceptionsESt12_Ios_Iostate(%"class.std::basic_ios"* %ref11, i32 %3)
  %s_save_12 = getelementptr inbounds %"class.boost::io::basic_ios_all_saver"* %this1, i32 0, i32 0
  %ref13 = load %"class.std::basic_ios"** %s_save_12, align 4
  %a4_save_ = getelementptr inbounds %"class.boost::io::basic_ios_all_saver"* %this1, i32 0, i32 4
  %4 = load i32* %a4_save_, align 4
  call void @_ZNSt9basic_iosIcSt11char_traitsIcEE5clearESt12_Ios_Iostate(%"class.std::basic_ios"* %ref13, i32 %4)
  %s_save_14 = getelementptr inbounds %"class.boost::io::basic_ios_all_saver"* %this1, i32 0, i32 0
  %ref15 = load %"class.std::basic_ios"** %s_save_14, align 4
  %5 = bitcast %"class.std::basic_ios"* %ref15 to %"class.std::ios_base"*
  %a3_save_ = getelementptr inbounds %"class.boost::io::basic_ios_all_saver"* %this1, i32 0, i32 3
  %6 = load i32* %a3_save_, align 4
  %call16 = call i32 @_ZNSt8ios_base5widthEi(%"class.std::ios_base"* %5, i32 %6)
  %s_save_17 = getelementptr inbounds %"class.boost::io::basic_ios_all_saver"* %this1, i32 0, i32 0
  %ref18 = load %"class.std::basic_ios"** %s_save_17, align 4
  %7 = bitcast %"class.std::basic_ios"* %ref18 to %"class.std::ios_base"*
  %a2_save_ = getelementptr inbounds %"class.boost::io::basic_ios_all_saver"* %this1, i32 0, i32 2
  %8 = load i32* %a2_save_, align 4
  %call19 = call i32 @_ZNSt8ios_base9precisionEi(%"class.std::ios_base"* %7, i32 %8)
  %s_save_20 = getelementptr inbounds %"class.boost::io::basic_ios_all_saver"* %this1, i32 0, i32 0
  %ref21 = load %"class.std::basic_ios"** %s_save_20, align 4
  %9 = bitcast %"class.std::basic_ios"* %ref21 to %"class.std::ios_base"*
  %a1_save_ = getelementptr inbounds %"class.boost::io::basic_ios_all_saver"* %this1, i32 0, i32 1
  %10 = load i32* %a1_save_, align 4
  %call22 = call i32 @_ZNSt8ios_base5flagsESt13_Ios_Fmtflags(%"class.std::ios_base"* %9, i32 %10)
  ret void
}

declare void @_ZNSt9basic_iosIcSt11char_traitsIcEE5clearESt12_Ios_Iostate(%"class.std::basic_ios"*, i32)

define linkonce_odr i32 @_ZNSt8ios_base5widthEi(%"class.std::ios_base"* %this, i32 %__wide) nounwind align 2 {
entry:
  %this.addr = alloca %"class.std::ios_base"*, align 4
  %__wide.addr = alloca i32, align 4
  %__old = alloca i32, align 4
  store %"class.std::ios_base"* %this, %"class.std::ios_base"** %this.addr, align 4
  store i32 %__wide, i32* %__wide.addr, align 4
  %this1 = load %"class.std::ios_base"** %this.addr
  %_M_width = getelementptr inbounds %"class.std::ios_base"* %this1, i32 0, i32 2
  %0 = load i32* %_M_width, align 4
  store i32 %0, i32* %__old, align 4
  %1 = load i32* %__wide.addr, align 4
  %_M_width2 = getelementptr inbounds %"class.std::ios_base"* %this1, i32 0, i32 2
  store i32 %1, i32* %_M_width2, align 4
  %2 = load i32* %__old, align 4
  ret i32 %2
}

define linkonce_odr i32 @_ZNSt8ios_base9precisionEi(%"class.std::ios_base"* %this, i32 %__prec) nounwind align 2 {
entry:
  %this.addr = alloca %"class.std::ios_base"*, align 4
  %__prec.addr = alloca i32, align 4
  %__old = alloca i32, align 4
  store %"class.std::ios_base"* %this, %"class.std::ios_base"** %this.addr, align 4
  store i32 %__prec, i32* %__prec.addr, align 4
  %this1 = load %"class.std::ios_base"** %this.addr
  %_M_precision = getelementptr inbounds %"class.std::ios_base"* %this1, i32 0, i32 1
  %0 = load i32* %_M_precision, align 4
  store i32 %0, i32* %__old, align 4
  %1 = load i32* %__prec.addr, align 4
  %_M_precision2 = getelementptr inbounds %"class.std::ios_base"* %this1, i32 0, i32 1
  store i32 %1, i32* %_M_precision2, align 4
  %2 = load i32* %__old, align 4
  ret i32 %2
}

define linkonce_odr i32 @_ZNSt8ios_base5flagsESt13_Ios_Fmtflags(%"class.std::ios_base"* %this, i32 %__fmtfl) nounwind align 2 {
entry:
  %this.addr = alloca %"class.std::ios_base"*, align 4
  %__fmtfl.addr = alloca i32, align 4
  %__old = alloca i32, align 4
  store %"class.std::ios_base"* %this, %"class.std::ios_base"** %this.addr, align 4
  store i32 %__fmtfl, i32* %__fmtfl.addr, align 4
  %this1 = load %"class.std::ios_base"** %this.addr
  %_M_flags = getelementptr inbounds %"class.std::ios_base"* %this1, i32 0, i32 3
  %0 = load i32* %_M_flags, align 4
  store i32 %0, i32* %__old, align 4
  %1 = load i32* %__fmtfl.addr, align 4
  %_M_flags2 = getelementptr inbounds %"class.std::ios_base"* %this1, i32 0, i32 3
  store i32 %1, i32* %_M_flags2, align 4
  %2 = load i32* %__old, align 4
  ret i32 %2
}

define linkonce_odr void @_ZN5boost2io19basic_ios_all_saverIcSt11char_traitsIcEEC2ERSt9basic_iosIcS3_E(%"class.boost::io::basic_ios_all_saver"* %this, %"class.std::basic_ios"* %s) unnamed_addr align 2 {
entry:
  %this.addr = alloca %"class.boost::io::basic_ios_all_saver"*, align 4
  %s.addr = alloca %"class.std::basic_ios"*, align 4
  store %"class.boost::io::basic_ios_all_saver"* %this, %"class.boost::io::basic_ios_all_saver"** %this.addr, align 4
  store %"class.std::basic_ios"* %s, %"class.std::basic_ios"** %s.addr, align 4
  %this1 = load %"class.boost::io::basic_ios_all_saver"** %this.addr
  %0 = getelementptr inbounds %"class.boost::io::basic_ios_all_saver"* %this1, i32 0, i32 0
  %1 = load %"class.std::basic_ios"** %s.addr, align 4
  store %"class.std::basic_ios"* %1, %"class.std::basic_ios"** %0, align 4
  %a1_save_ = getelementptr inbounds %"class.boost::io::basic_ios_all_saver"* %this1, i32 0, i32 1
  %2 = load %"class.std::basic_ios"** %s.addr, align 4
  %3 = bitcast %"class.std::basic_ios"* %2 to %"class.std::ios_base"*
  %call = call i32 @_ZNKSt8ios_base5flagsEv(%"class.std::ios_base"* %3)
  store i32 %call, i32* %a1_save_, align 4
  %a2_save_ = getelementptr inbounds %"class.boost::io::basic_ios_all_saver"* %this1, i32 0, i32 2
  %4 = load %"class.std::basic_ios"** %s.addr, align 4
  %5 = bitcast %"class.std::basic_ios"* %4 to %"class.std::ios_base"*
  %call2 = call i32 @_ZNKSt8ios_base9precisionEv(%"class.std::ios_base"* %5)
  store i32 %call2, i32* %a2_save_, align 4
  %a3_save_ = getelementptr inbounds %"class.boost::io::basic_ios_all_saver"* %this1, i32 0, i32 3
  %6 = load %"class.std::basic_ios"** %s.addr, align 4
  %7 = bitcast %"class.std::basic_ios"* %6 to %"class.std::ios_base"*
  %call3 = call i32 @_ZNKSt8ios_base5widthEv(%"class.std::ios_base"* %7)
  store i32 %call3, i32* %a3_save_, align 4
  %a4_save_ = getelementptr inbounds %"class.boost::io::basic_ios_all_saver"* %this1, i32 0, i32 4
  %8 = load %"class.std::basic_ios"** %s.addr, align 4
  %call4 = call i32 @_ZNKSt9basic_iosIcSt11char_traitsIcEE7rdstateEv(%"class.std::basic_ios"* %8)
  store i32 %call4, i32* %a4_save_, align 4
  %a5_save_ = getelementptr inbounds %"class.boost::io::basic_ios_all_saver"* %this1, i32 0, i32 5
  %9 = load %"class.std::basic_ios"** %s.addr, align 4
  %call5 = call i32 @_ZNKSt9basic_iosIcSt11char_traitsIcEE10exceptionsEv(%"class.std::basic_ios"* %9)
  store i32 %call5, i32* %a5_save_, align 4
  %a6_save_ = getelementptr inbounds %"class.boost::io::basic_ios_all_saver"* %this1, i32 0, i32 6
  %10 = load %"class.std::basic_ios"** %s.addr, align 4
  %call6 = call %"class.std::basic_ostream"* @_ZNKSt9basic_iosIcSt11char_traitsIcEE3tieEv(%"class.std::basic_ios"* %10)
  store %"class.std::basic_ostream"* %call6, %"class.std::basic_ostream"** %a6_save_, align 4
  %a7_save_ = getelementptr inbounds %"class.boost::io::basic_ios_all_saver"* %this1, i32 0, i32 7
  %11 = load %"class.std::basic_ios"** %s.addr, align 4
  %call7 = call %"class.std::basic_streambuf"* @_ZNKSt9basic_iosIcSt11char_traitsIcEE5rdbufEv(%"class.std::basic_ios"* %11)
  store %"class.std::basic_streambuf"* %call7, %"class.std::basic_streambuf"** %a7_save_, align 4
  %a8_save_ = getelementptr inbounds %"class.boost::io::basic_ios_all_saver"* %this1, i32 0, i32 8
  %12 = load %"class.std::basic_ios"** %s.addr, align 4
  %call8 = call signext i8 @_ZNKSt9basic_iosIcSt11char_traitsIcEE4fillEv(%"class.std::basic_ios"* %12)
  store i8 %call8, i8* %a8_save_, align 1
  %a9_save_ = getelementptr inbounds %"class.boost::io::basic_ios_all_saver"* %this1, i32 0, i32 9
  %13 = load %"class.std::basic_ios"** %s.addr, align 4
  %14 = bitcast %"class.std::basic_ios"* %13 to %"class.std::ios_base"*
  call void @_ZNKSt8ios_base6getlocEv(%"class.std::locale"* sret %a9_save_, %"class.std::ios_base"* %14)
  ret void
}

define linkonce_odr void @_ZNK5boost10test_tools9tt_detail15equal_impl_frwdclIPSt15basic_stringbufIcSt11char_traitsIcESaIcEEPvEENS0_16predicate_resultERKT_RKT0_(%"class.boost::test_tools::predicate_result"* noalias sret %agg.result, %"struct.boost::test_tools::tt_detail::equal_impl_frwd"* %this, %"class.std::basic_stringbuf"** %left, i8** %right) inlinehint align 2 {
entry:
  %this.addr = alloca %"struct.boost::test_tools::tt_detail::equal_impl_frwd"*, align 4
  %left.addr = alloca %"class.std::basic_stringbuf"**, align 4
  %right.addr = alloca i8**, align 4
  %agg.tmp = alloca %"struct.mpl_::bool_", align 1
  %ref.tmp = alloca %"struct.boost::integral_constant", align 1
  store %"struct.boost::test_tools::tt_detail::equal_impl_frwd"* %this, %"struct.boost::test_tools::tt_detail::equal_impl_frwd"** %this.addr, align 4
  store %"class.std::basic_stringbuf"** %left, %"class.std::basic_stringbuf"*** %left.addr, align 4
  store i8** %right, i8*** %right.addr, align 4
  %this1 = load %"struct.boost::test_tools::tt_detail::equal_impl_frwd"** %this.addr
  %0 = load %"class.std::basic_stringbuf"*** %left.addr, align 4
  %1 = load i8*** %right.addr, align 4
  %2 = bitcast %"struct.boost::integral_constant"* %ref.tmp to %"struct.mpl_::bool_"*
  call void @_ZNK5boost10test_tools9tt_detail15equal_impl_frwd9call_implIPSt15basic_stringbufIcSt11char_traitsIcESaIcEEPvEENS0_16predicate_resultERKT_RKT0_N4mpl_5bool_ILb0EEE(%"class.boost::test_tools::predicate_result"* sret %agg.result, %"struct.boost::test_tools::tt_detail::equal_impl_frwd"* %this1, %"class.std::basic_stringbuf"** %0, i8** %1)
  ret void
}

define linkonce_odr void @_ZN5boost9unit_testlsINS_10test_tools9tt_detail14print_helper_tIPSt15basic_stringbufIcSt11char_traitsIcESaIcEEEEEENS0_17lazy_ostream_implIRKT_EERKNS0_12lazy_ostreamESF_(%"class.boost::unit_test::lazy_ostream_impl.24"* noalias sret %agg.result, %"class.boost::unit_test::lazy_ostream"* %prev, %"struct.boost::test_tools::tt_detail::print_helper_t.25"* %v) inlinehint {
entry:
  %prev.addr = alloca %"class.boost::unit_test::lazy_ostream"*, align 4
  %v.addr = alloca %"struct.boost::test_tools::tt_detail::print_helper_t.25"*, align 4
  store %"class.boost::unit_test::lazy_ostream"* %prev, %"class.boost::unit_test::lazy_ostream"** %prev.addr, align 4
  store %"struct.boost::test_tools::tt_detail::print_helper_t.25"* %v, %"struct.boost::test_tools::tt_detail::print_helper_t.25"** %v.addr, align 4
  %0 = load %"class.boost::unit_test::lazy_ostream"** %prev.addr, align 4
  %1 = load %"struct.boost::test_tools::tt_detail::print_helper_t.25"** %v.addr, align 4
  call void @_ZN5boost9unit_test17lazy_ostream_implIRKNS_10test_tools9tt_detail14print_helper_tIPSt15basic_stringbufIcSt11char_traitsIcESaIcEEEEEC1ERKNS0_12lazy_ostreamESD_(%"class.boost::unit_test::lazy_ostream_impl.24"* %agg.result, %"class.boost::unit_test::lazy_ostream"* %0, %"struct.boost::test_tools::tt_detail::print_helper_t.25"* %1)
  ret void
}

define linkonce_odr void @_ZN5boost10test_tools9tt_detail12print_helperIPSt15basic_stringbufIcSt11char_traitsIcESaIcEEEENS1_14print_helper_tIT_EERKSA_(%"struct.boost::test_tools::tt_detail::print_helper_t.25"* noalias sret %agg.result, %"class.std::basic_stringbuf"** %t) inlinehint {
entry:
  %t.addr = alloca %"class.std::basic_stringbuf"**, align 4
  store %"class.std::basic_stringbuf"** %t, %"class.std::basic_stringbuf"*** %t.addr, align 4
  %0 = load %"class.std::basic_stringbuf"*** %t.addr, align 4
  call void @_ZN5boost10test_tools9tt_detail14print_helper_tIPSt15basic_stringbufIcSt11char_traitsIcESaIcEEEC1ERKS8_(%"struct.boost::test_tools::tt_detail::print_helper_t.25"* %agg.result, %"class.std::basic_stringbuf"** %0)
  ret void
}

define linkonce_odr void @_ZN5boost9unit_testlsINS_10test_tools9tt_detail14print_helper_tIPvEEEENS0_17lazy_ostream_implIRKT_EERKNS0_12lazy_ostreamESA_(%"class.boost::unit_test::lazy_ostream_impl.26"* noalias sret %agg.result, %"class.boost::unit_test::lazy_ostream"* %prev, %"struct.boost::test_tools::tt_detail::print_helper_t.27"* %v) inlinehint {
entry:
  %prev.addr = alloca %"class.boost::unit_test::lazy_ostream"*, align 4
  %v.addr = alloca %"struct.boost::test_tools::tt_detail::print_helper_t.27"*, align 4
  store %"class.boost::unit_test::lazy_ostream"* %prev, %"class.boost::unit_test::lazy_ostream"** %prev.addr, align 4
  store %"struct.boost::test_tools::tt_detail::print_helper_t.27"* %v, %"struct.boost::test_tools::tt_detail::print_helper_t.27"** %v.addr, align 4
  %0 = load %"class.boost::unit_test::lazy_ostream"** %prev.addr, align 4
  %1 = load %"struct.boost::test_tools::tt_detail::print_helper_t.27"** %v.addr, align 4
  call void @_ZN5boost9unit_test17lazy_ostream_implIRKNS_10test_tools9tt_detail14print_helper_tIPvEEEC1ERKNS0_12lazy_ostreamES8_(%"class.boost::unit_test::lazy_ostream_impl.26"* %agg.result, %"class.boost::unit_test::lazy_ostream"* %0, %"struct.boost::test_tools::tt_detail::print_helper_t.27"* %1)
  ret void
}

define linkonce_odr void @_ZN5boost10test_tools9tt_detail12print_helperIPvEENS1_14print_helper_tIT_EERKS5_(%"struct.boost::test_tools::tt_detail::print_helper_t.27"* noalias sret %agg.result, i8** %t) inlinehint {
entry:
  %t.addr = alloca i8**, align 4
  store i8** %t, i8*** %t.addr, align 4
  %0 = load i8*** %t.addr, align 4
  call void @_ZN5boost10test_tools9tt_detail14print_helper_tIPvEC1ERKS3_(%"struct.boost::test_tools::tt_detail::print_helper_t.27"* %agg.result, i8** %0)
  ret void
}

define linkonce_odr void @_ZN5boost9unit_test17lazy_ostream_implIRKNS_10test_tools9tt_detail14print_helper_tIPvEEED1Ev(%"class.boost::unit_test::lazy_ostream_impl.26"* %this) unnamed_addr inlinehint align 2 {
entry:
  %this.addr = alloca %"class.boost::unit_test::lazy_ostream_impl.26"*, align 4
  store %"class.boost::unit_test::lazy_ostream_impl.26"* %this, %"class.boost::unit_test::lazy_ostream_impl.26"** %this.addr, align 4
  %this1 = load %"class.boost::unit_test::lazy_ostream_impl.26"** %this.addr
  call void @_ZN5boost9unit_test17lazy_ostream_implIRKNS_10test_tools9tt_detail14print_helper_tIPvEEED2Ev(%"class.boost::unit_test::lazy_ostream_impl.26"* %this1)
  ret void
}

define linkonce_odr void @_ZN5boost9unit_test17lazy_ostream_implIRKNS_10test_tools9tt_detail14print_helper_tIPSt15basic_stringbufIcSt11char_traitsIcESaIcEEEEED1Ev(%"class.boost::unit_test::lazy_ostream_impl.24"* %this) unnamed_addr inlinehint align 2 {
entry:
  %this.addr = alloca %"class.boost::unit_test::lazy_ostream_impl.24"*, align 4
  store %"class.boost::unit_test::lazy_ostream_impl.24"* %this, %"class.boost::unit_test::lazy_ostream_impl.24"** %this.addr, align 4
  %this1 = load %"class.boost::unit_test::lazy_ostream_impl.24"** %this.addr
  call void @_ZN5boost9unit_test17lazy_ostream_implIRKNS_10test_tools9tt_detail14print_helper_tIPSt15basic_stringbufIcSt11char_traitsIcESaIcEEEEED2Ev(%"class.boost::unit_test::lazy_ostream_impl.24"* %this1)
  ret void
}

define linkonce_odr void @_ZN5boost9unit_test17lazy_ostream_implIRKNS_10test_tools9tt_detail14print_helper_tIPSt15basic_stringbufIcSt11char_traitsIcESaIcEEEEED2Ev(%"class.boost::unit_test::lazy_ostream_impl.24"* %this) unnamed_addr nounwind inlinehint align 2 {
entry:
  %this.addr = alloca %"class.boost::unit_test::lazy_ostream_impl.24"*, align 4
  store %"class.boost::unit_test::lazy_ostream_impl.24"* %this, %"class.boost::unit_test::lazy_ostream_impl.24"** %this.addr, align 4
  %this1 = load %"class.boost::unit_test::lazy_ostream_impl.24"** %this.addr
  %0 = bitcast %"class.boost::unit_test::lazy_ostream_impl.24"* %this1 to %"class.boost::unit_test::lazy_ostream"*
  call void @_ZN5boost9unit_test12lazy_ostreamD2Ev(%"class.boost::unit_test::lazy_ostream"* %0)
  ret void
}

define linkonce_odr void @_ZN5boost9unit_test17lazy_ostream_implIRKNS_10test_tools9tt_detail14print_helper_tIPvEEED2Ev(%"class.boost::unit_test::lazy_ostream_impl.26"* %this) unnamed_addr nounwind inlinehint align 2 {
entry:
  %this.addr = alloca %"class.boost::unit_test::lazy_ostream_impl.26"*, align 4
  store %"class.boost::unit_test::lazy_ostream_impl.26"* %this, %"class.boost::unit_test::lazy_ostream_impl.26"** %this.addr, align 4
  %this1 = load %"class.boost::unit_test::lazy_ostream_impl.26"** %this.addr
  %0 = bitcast %"class.boost::unit_test::lazy_ostream_impl.26"* %this1 to %"class.boost::unit_test::lazy_ostream"*
  call void @_ZN5boost9unit_test12lazy_ostreamD2Ev(%"class.boost::unit_test::lazy_ostream"* %0)
  ret void
}

define linkonce_odr void @_ZN5boost10test_tools9tt_detail14print_helper_tIPvEC1ERKS3_(%"struct.boost::test_tools::tt_detail::print_helper_t.27"* %this, i8** %t) unnamed_addr align 2 {
entry:
  %this.addr = alloca %"struct.boost::test_tools::tt_detail::print_helper_t.27"*, align 4
  %t.addr = alloca i8**, align 4
  store %"struct.boost::test_tools::tt_detail::print_helper_t.27"* %this, %"struct.boost::test_tools::tt_detail::print_helper_t.27"** %this.addr, align 4
  store i8** %t, i8*** %t.addr, align 4
  %this1 = load %"struct.boost::test_tools::tt_detail::print_helper_t.27"** %this.addr
  %0 = load i8*** %t.addr
  call void @_ZN5boost10test_tools9tt_detail14print_helper_tIPvEC2ERKS3_(%"struct.boost::test_tools::tt_detail::print_helper_t.27"* %this1, i8** %0)
  ret void
}

define linkonce_odr void @_ZN5boost10test_tools9tt_detail14print_helper_tIPvEC2ERKS3_(%"struct.boost::test_tools::tt_detail::print_helper_t.27"* %this, i8** %t) unnamed_addr nounwind align 2 {
entry:
  %this.addr = alloca %"struct.boost::test_tools::tt_detail::print_helper_t.27"*, align 4
  %t.addr = alloca i8**, align 4
  store %"struct.boost::test_tools::tt_detail::print_helper_t.27"* %this, %"struct.boost::test_tools::tt_detail::print_helper_t.27"** %this.addr, align 4
  store i8** %t, i8*** %t.addr, align 4
  %this1 = load %"struct.boost::test_tools::tt_detail::print_helper_t.27"** %this.addr
  %0 = getelementptr inbounds %"struct.boost::test_tools::tt_detail::print_helper_t.27"* %this1, i32 0, i32 0
  %1 = load i8*** %t.addr, align 4
  store i8** %1, i8*** %0, align 4
  ret void
}

define linkonce_odr void @_ZN5boost9unit_test17lazy_ostream_implIRKNS_10test_tools9tt_detail14print_helper_tIPvEEEC1ERKNS0_12lazy_ostreamES8_(%"class.boost::unit_test::lazy_ostream_impl.26"* %this, %"class.boost::unit_test::lazy_ostream"* %prev, %"struct.boost::test_tools::tt_detail::print_helper_t.27"* %value) unnamed_addr align 2 {
entry:
  %this.addr = alloca %"class.boost::unit_test::lazy_ostream_impl.26"*, align 4
  %prev.addr = alloca %"class.boost::unit_test::lazy_ostream"*, align 4
  %value.addr = alloca %"struct.boost::test_tools::tt_detail::print_helper_t.27"*, align 4
  store %"class.boost::unit_test::lazy_ostream_impl.26"* %this, %"class.boost::unit_test::lazy_ostream_impl.26"** %this.addr, align 4
  store %"class.boost::unit_test::lazy_ostream"* %prev, %"class.boost::unit_test::lazy_ostream"** %prev.addr, align 4
  store %"struct.boost::test_tools::tt_detail::print_helper_t.27"* %value, %"struct.boost::test_tools::tt_detail::print_helper_t.27"** %value.addr, align 4
  %this1 = load %"class.boost::unit_test::lazy_ostream_impl.26"** %this.addr
  %0 = load %"class.boost::unit_test::lazy_ostream"** %prev.addr
  %1 = load %"struct.boost::test_tools::tt_detail::print_helper_t.27"** %value.addr
  call void @_ZN5boost9unit_test17lazy_ostream_implIRKNS_10test_tools9tt_detail14print_helper_tIPvEEEC2ERKNS0_12lazy_ostreamES8_(%"class.boost::unit_test::lazy_ostream_impl.26"* %this1, %"class.boost::unit_test::lazy_ostream"* %0, %"struct.boost::test_tools::tt_detail::print_helper_t.27"* %1)
  ret void
}

define linkonce_odr void @_ZN5boost9unit_test17lazy_ostream_implIRKNS_10test_tools9tt_detail14print_helper_tIPvEEEC2ERKNS0_12lazy_ostreamES8_(%"class.boost::unit_test::lazy_ostream_impl.26"* %this, %"class.boost::unit_test::lazy_ostream"* %prev, %"struct.boost::test_tools::tt_detail::print_helper_t.27"* %value) unnamed_addr nounwind align 2 {
entry:
  %this.addr = alloca %"class.boost::unit_test::lazy_ostream_impl.26"*, align 4
  %prev.addr = alloca %"class.boost::unit_test::lazy_ostream"*, align 4
  %value.addr = alloca %"struct.boost::test_tools::tt_detail::print_helper_t.27"*, align 4
  store %"class.boost::unit_test::lazy_ostream_impl.26"* %this, %"class.boost::unit_test::lazy_ostream_impl.26"** %this.addr, align 4
  store %"class.boost::unit_test::lazy_ostream"* %prev, %"class.boost::unit_test::lazy_ostream"** %prev.addr, align 4
  store %"struct.boost::test_tools::tt_detail::print_helper_t.27"* %value, %"struct.boost::test_tools::tt_detail::print_helper_t.27"** %value.addr, align 4
  %this1 = load %"class.boost::unit_test::lazy_ostream_impl.26"** %this.addr
  %0 = bitcast %"class.boost::unit_test::lazy_ostream_impl.26"* %this1 to %"class.boost::unit_test::lazy_ostream"*
  call void @_ZN5boost9unit_test12lazy_ostreamC2Eb(%"class.boost::unit_test::lazy_ostream"* %0, i1 zeroext false)
  %1 = bitcast %"class.boost::unit_test::lazy_ostream_impl.26"* %this1 to i8***
  store i8** getelementptr inbounds ([5 x i8*]* @_ZTVN5boost9unit_test17lazy_ostream_implIRKNS_10test_tools9tt_detail14print_helper_tIPvEEEE, i64 0, i64 2), i8*** %1
  %2 = getelementptr inbounds %"class.boost::unit_test::lazy_ostream_impl.26"* %this1, i32 0, i32 1
  %3 = load %"class.boost::unit_test::lazy_ostream"** %prev.addr, align 4
  store %"class.boost::unit_test::lazy_ostream"* %3, %"class.boost::unit_test::lazy_ostream"** %2, align 4
  %4 = getelementptr inbounds %"class.boost::unit_test::lazy_ostream_impl.26"* %this1, i32 0, i32 2
  %5 = load %"struct.boost::test_tools::tt_detail::print_helper_t.27"** %value.addr, align 4
  store %"struct.boost::test_tools::tt_detail::print_helper_t.27"* %5, %"struct.boost::test_tools::tt_detail::print_helper_t.27"** %4, align 4
  ret void
}

define linkonce_odr %"class.std::basic_ostream"* @_ZNK5boost9unit_test17lazy_ostream_implIRKNS_10test_tools9tt_detail14print_helper_tIPvEEEclERSo(%"class.boost::unit_test::lazy_ostream_impl.26"* %this, %"class.std::basic_ostream"* %ostr) unnamed_addr align 2 {
entry:
  %this.addr = alloca %"class.boost::unit_test::lazy_ostream_impl.26"*, align 4
  %ostr.addr = alloca %"class.std::basic_ostream"*, align 4
  store %"class.boost::unit_test::lazy_ostream_impl.26"* %this, %"class.boost::unit_test::lazy_ostream_impl.26"** %this.addr, align 4
  store %"class.std::basic_ostream"* %ostr, %"class.std::basic_ostream"** %ostr.addr, align 4
  %this1 = load %"class.boost::unit_test::lazy_ostream_impl.26"** %this.addr
  %m_prev = getelementptr inbounds %"class.boost::unit_test::lazy_ostream_impl.26"* %this1, i32 0, i32 1
  %ref = load %"class.boost::unit_test::lazy_ostream"** %m_prev, align 4
  %0 = bitcast %"class.boost::unit_test::lazy_ostream"* %ref to %"class.std::basic_ostream"* (%"class.boost::unit_test::lazy_ostream"*, %"class.std::basic_ostream"*)***
  %vtable = load %"class.std::basic_ostream"* (%"class.boost::unit_test::lazy_ostream"*, %"class.std::basic_ostream"*)*** %0
  %vfn = getelementptr inbounds %"class.std::basic_ostream"* (%"class.boost::unit_test::lazy_ostream"*, %"class.std::basic_ostream"*)** %vtable, i64 0
  %1 = load %"class.std::basic_ostream"* (%"class.boost::unit_test::lazy_ostream"*, %"class.std::basic_ostream"*)** %vfn
  %2 = load %"class.std::basic_ostream"** %ostr.addr, align 4
  %call = call %"class.std::basic_ostream"* %1(%"class.boost::unit_test::lazy_ostream"* %ref, %"class.std::basic_ostream"* %2)
  %m_value = getelementptr inbounds %"class.boost::unit_test::lazy_ostream_impl.26"* %this1, i32 0, i32 2
  %ref2 = load %"struct.boost::test_tools::tt_detail::print_helper_t.27"** %m_value, align 4
  %call3 = call %"class.std::basic_ostream"* @_ZN5boost10test_tools9tt_detaillsIPvEERSoS4_RKNS1_14print_helper_tIT_EE(%"class.std::basic_ostream"* %call, %"struct.boost::test_tools::tt_detail::print_helper_t.27"* %ref2)
  ret %"class.std::basic_ostream"* %call3
}

define linkonce_odr void @_ZN5boost9unit_test17lazy_ostream_implIRKNS_10test_tools9tt_detail14print_helper_tIPvEEED0Ev(%"class.boost::unit_test::lazy_ostream_impl.26"* %this) unnamed_addr inlinehint align 2 {
entry:
  %this.addr = alloca %"class.boost::unit_test::lazy_ostream_impl.26"*, align 4
  %exn.slot = alloca i8*
  %ehselector.slot = alloca i32
  store %"class.boost::unit_test::lazy_ostream_impl.26"* %this, %"class.boost::unit_test::lazy_ostream_impl.26"** %this.addr, align 4
  %this1 = load %"class.boost::unit_test::lazy_ostream_impl.26"** %this.addr
  invoke void @_ZN5boost9unit_test17lazy_ostream_implIRKNS_10test_tools9tt_detail14print_helper_tIPvEEED1Ev(%"class.boost::unit_test::lazy_ostream_impl.26"* %this1)
          to label %invoke.cont unwind label %lpad

invoke.cont:                                      ; preds = %entry
  %0 = bitcast %"class.boost::unit_test::lazy_ostream_impl.26"* %this1 to i8*
  call void @_ZdlPv(i8* %0) nounwind
  ret void

lpad:                                             ; preds = %entry
  %1 = landingpad { i8*, i32 } personality i8* bitcast (i32 (...)* @__gxx_personality_v0 to i8*)
          cleanup
  %2 = extractvalue { i8*, i32 } %1, 0
  store i8* %2, i8** %exn.slot
  %3 = extractvalue { i8*, i32 } %1, 1
  store i32 %3, i32* %ehselector.slot
  %4 = bitcast %"class.boost::unit_test::lazy_ostream_impl.26"* %this1 to i8*
  call void @_ZdlPv(i8* %4) nounwind
  br label %eh.resume

eh.resume:                                        ; preds = %lpad
  %exn = load i8** %exn.slot
  %sel = load i32* %ehselector.slot
  %lpad.val = insertvalue { i8*, i32 } undef, i8* %exn, 0
  %lpad.val2 = insertvalue { i8*, i32 } %lpad.val, i32 %sel, 1
  resume { i8*, i32 } %lpad.val2
}

define linkonce_odr %"class.std::basic_ostream"* @_ZN5boost10test_tools9tt_detaillsIPvEERSoS4_RKNS1_14print_helper_tIT_EE(%"class.std::basic_ostream"* %ostr, %"struct.boost::test_tools::tt_detail::print_helper_t.27"* %ph) inlinehint {
entry:
  %ostr.addr = alloca %"class.std::basic_ostream"*, align 4
  %ph.addr = alloca %"struct.boost::test_tools::tt_detail::print_helper_t.27"*, align 4
  %tmp = alloca %"struct.boost::test_tools::print_log_value.28", align 1
  store %"class.std::basic_ostream"* %ostr, %"class.std::basic_ostream"** %ostr.addr, align 4
  store %"struct.boost::test_tools::tt_detail::print_helper_t.27"* %ph, %"struct.boost::test_tools::tt_detail::print_helper_t.27"** %ph.addr, align 4
  %0 = load %"class.std::basic_ostream"** %ostr.addr, align 4
  %1 = load %"struct.boost::test_tools::tt_detail::print_helper_t.27"** %ph.addr, align 4
  %m_t = getelementptr inbounds %"struct.boost::test_tools::tt_detail::print_helper_t.27"* %1, i32 0, i32 0
  %ref = load i8*** %m_t, align 4
  call void @_ZN5boost10test_tools15print_log_valueIPvEclERSoRKS2_(%"struct.boost::test_tools::print_log_value.28"* %tmp, %"class.std::basic_ostream"* %0, i8** %ref)
  %2 = load %"class.std::basic_ostream"** %ostr.addr, align 4
  ret %"class.std::basic_ostream"* %2
}

define linkonce_odr void @_ZN5boost10test_tools15print_log_valueIPvEclERSoRKS2_(%"struct.boost::test_tools::print_log_value.28"* %this, %"class.std::basic_ostream"* %ostr, i8** %t) align 2 {
entry:
  %this.addr = alloca %"struct.boost::test_tools::print_log_value.28"*, align 4
  %ostr.addr = alloca %"class.std::basic_ostream"*, align 4
  %t.addr = alloca i8**, align 4
  %agg.tmp = alloca %"struct.mpl_::bool_", align 1
  store %"struct.boost::test_tools::print_log_value.28"* %this, %"struct.boost::test_tools::print_log_value.28"** %this.addr, align 4
  store %"class.std::basic_ostream"* %ostr, %"class.std::basic_ostream"** %ostr.addr, align 4
  store i8** %t, i8*** %t.addr, align 4
  %this1 = load %"struct.boost::test_tools::print_log_value.28"** %this.addr
  %0 = load i8* @_ZN5boost10test_tools12_GLOBAL__N_110dummy_condE, align 1
  %tobool = trunc i8 %0 to i1
  br i1 %tobool, label %if.then, label %if.end

if.then:                                          ; preds = %entry
  br label %if.end

if.end:                                           ; preds = %if.then, %entry
  %1 = load %"class.std::basic_ostream"** %ostr.addr, align 4
  call void @_ZN5boost10test_tools15print_log_valueIPvE13set_precisionERSoN4mpl_5bool_ILb0EEE(%"struct.boost::test_tools::print_log_value.28"* %this1, %"class.std::basic_ostream"* %1)
  %2 = load %"class.std::basic_ostream"** %ostr.addr, align 4
  %3 = load i8*** %t.addr, align 4
  %4 = load i8** %3, align 4
  %call = call %"class.std::basic_ostream"* @_ZNSolsEPKv(%"class.std::basic_ostream"* %2, i8* %4)
  ret void
}

define linkonce_odr void @_ZN5boost10test_tools15print_log_valueIPvE13set_precisionERSoN4mpl_5bool_ILb0EEE(%"struct.boost::test_tools::print_log_value.28"* %this, %"class.std::basic_ostream"* %ostr) nounwind align 2 {
entry:
  %this.addr = alloca %"struct.boost::test_tools::print_log_value.28"*, align 4
  %ostr.addr = alloca %"class.std::basic_ostream"*, align 4
  %0 = alloca %"struct.mpl_::bool_", align 1
  store %"struct.boost::test_tools::print_log_value.28"* %this, %"struct.boost::test_tools::print_log_value.28"** %this.addr, align 4
  store %"class.std::basic_ostream"* %ostr, %"class.std::basic_ostream"** %ostr.addr, align 4
  %this1 = load %"struct.boost::test_tools::print_log_value.28"** %this.addr
  ret void
}

declare %"class.std::basic_ostream"* @_ZNSolsEPKv(%"class.std::basic_ostream"*, i8*)

define linkonce_odr void @_ZN5boost10test_tools9tt_detail14print_helper_tIPSt15basic_stringbufIcSt11char_traitsIcESaIcEEEC1ERKS8_(%"struct.boost::test_tools::tt_detail::print_helper_t.25"* %this, %"class.std::basic_stringbuf"** %t) unnamed_addr align 2 {
entry:
  %this.addr = alloca %"struct.boost::test_tools::tt_detail::print_helper_t.25"*, align 4
  %t.addr = alloca %"class.std::basic_stringbuf"**, align 4
  store %"struct.boost::test_tools::tt_detail::print_helper_t.25"* %this, %"struct.boost::test_tools::tt_detail::print_helper_t.25"** %this.addr, align 4
  store %"class.std::basic_stringbuf"** %t, %"class.std::basic_stringbuf"*** %t.addr, align 4
  %this1 = load %"struct.boost::test_tools::tt_detail::print_helper_t.25"** %this.addr
  %0 = load %"class.std::basic_stringbuf"*** %t.addr
  call void @_ZN5boost10test_tools9tt_detail14print_helper_tIPSt15basic_stringbufIcSt11char_traitsIcESaIcEEEC2ERKS8_(%"struct.boost::test_tools::tt_detail::print_helper_t.25"* %this1, %"class.std::basic_stringbuf"** %0)
  ret void
}

define linkonce_odr void @_ZN5boost10test_tools9tt_detail14print_helper_tIPSt15basic_stringbufIcSt11char_traitsIcESaIcEEEC2ERKS8_(%"struct.boost::test_tools::tt_detail::print_helper_t.25"* %this, %"class.std::basic_stringbuf"** %t) unnamed_addr nounwind align 2 {
entry:
  %this.addr = alloca %"struct.boost::test_tools::tt_detail::print_helper_t.25"*, align 4
  %t.addr = alloca %"class.std::basic_stringbuf"**, align 4
  store %"struct.boost::test_tools::tt_detail::print_helper_t.25"* %this, %"struct.boost::test_tools::tt_detail::print_helper_t.25"** %this.addr, align 4
  store %"class.std::basic_stringbuf"** %t, %"class.std::basic_stringbuf"*** %t.addr, align 4
  %this1 = load %"struct.boost::test_tools::tt_detail::print_helper_t.25"** %this.addr
  %0 = getelementptr inbounds %"struct.boost::test_tools::tt_detail::print_helper_t.25"* %this1, i32 0, i32 0
  %1 = load %"class.std::basic_stringbuf"*** %t.addr, align 4
  store %"class.std::basic_stringbuf"** %1, %"class.std::basic_stringbuf"*** %0, align 4
  ret void
}

define linkonce_odr void @_ZN5boost9unit_test17lazy_ostream_implIRKNS_10test_tools9tt_detail14print_helper_tIPSt15basic_stringbufIcSt11char_traitsIcESaIcEEEEEC1ERKNS0_12lazy_ostreamESD_(%"class.boost::unit_test::lazy_ostream_impl.24"* %this, %"class.boost::unit_test::lazy_ostream"* %prev, %"struct.boost::test_tools::tt_detail::print_helper_t.25"* %value) unnamed_addr align 2 {
entry:
  %this.addr = alloca %"class.boost::unit_test::lazy_ostream_impl.24"*, align 4
  %prev.addr = alloca %"class.boost::unit_test::lazy_ostream"*, align 4
  %value.addr = alloca %"struct.boost::test_tools::tt_detail::print_helper_t.25"*, align 4
  store %"class.boost::unit_test::lazy_ostream_impl.24"* %this, %"class.boost::unit_test::lazy_ostream_impl.24"** %this.addr, align 4
  store %"class.boost::unit_test::lazy_ostream"* %prev, %"class.boost::unit_test::lazy_ostream"** %prev.addr, align 4
  store %"struct.boost::test_tools::tt_detail::print_helper_t.25"* %value, %"struct.boost::test_tools::tt_detail::print_helper_t.25"** %value.addr, align 4
  %this1 = load %"class.boost::unit_test::lazy_ostream_impl.24"** %this.addr
  %0 = load %"class.boost::unit_test::lazy_ostream"** %prev.addr
  %1 = load %"struct.boost::test_tools::tt_detail::print_helper_t.25"** %value.addr
  call void @_ZN5boost9unit_test17lazy_ostream_implIRKNS_10test_tools9tt_detail14print_helper_tIPSt15basic_stringbufIcSt11char_traitsIcESaIcEEEEEC2ERKNS0_12lazy_ostreamESD_(%"class.boost::unit_test::lazy_ostream_impl.24"* %this1, %"class.boost::unit_test::lazy_ostream"* %0, %"struct.boost::test_tools::tt_detail::print_helper_t.25"* %1)
  ret void
}

define linkonce_odr void @_ZN5boost9unit_test17lazy_ostream_implIRKNS_10test_tools9tt_detail14print_helper_tIPSt15basic_stringbufIcSt11char_traitsIcESaIcEEEEEC2ERKNS0_12lazy_ostreamESD_(%"class.boost::unit_test::lazy_ostream_impl.24"* %this, %"class.boost::unit_test::lazy_ostream"* %prev, %"struct.boost::test_tools::tt_detail::print_helper_t.25"* %value) unnamed_addr nounwind align 2 {
entry:
  %this.addr = alloca %"class.boost::unit_test::lazy_ostream_impl.24"*, align 4
  %prev.addr = alloca %"class.boost::unit_test::lazy_ostream"*, align 4
  %value.addr = alloca %"struct.boost::test_tools::tt_detail::print_helper_t.25"*, align 4
  store %"class.boost::unit_test::lazy_ostream_impl.24"* %this, %"class.boost::unit_test::lazy_ostream_impl.24"** %this.addr, align 4
  store %"class.boost::unit_test::lazy_ostream"* %prev, %"class.boost::unit_test::lazy_ostream"** %prev.addr, align 4
  store %"struct.boost::test_tools::tt_detail::print_helper_t.25"* %value, %"struct.boost::test_tools::tt_detail::print_helper_t.25"** %value.addr, align 4
  %this1 = load %"class.boost::unit_test::lazy_ostream_impl.24"** %this.addr
  %0 = bitcast %"class.boost::unit_test::lazy_ostream_impl.24"* %this1 to %"class.boost::unit_test::lazy_ostream"*
  call void @_ZN5boost9unit_test12lazy_ostreamC2Eb(%"class.boost::unit_test::lazy_ostream"* %0, i1 zeroext false)
  %1 = bitcast %"class.boost::unit_test::lazy_ostream_impl.24"* %this1 to i8***
  store i8** getelementptr inbounds ([5 x i8*]* @_ZTVN5boost9unit_test17lazy_ostream_implIRKNS_10test_tools9tt_detail14print_helper_tIPSt15basic_stringbufIcSt11char_traitsIcESaIcEEEEEE, i64 0, i64 2), i8*** %1
  %2 = getelementptr inbounds %"class.boost::unit_test::lazy_ostream_impl.24"* %this1, i32 0, i32 1
  %3 = load %"class.boost::unit_test::lazy_ostream"** %prev.addr, align 4
  store %"class.boost::unit_test::lazy_ostream"* %3, %"class.boost::unit_test::lazy_ostream"** %2, align 4
  %4 = getelementptr inbounds %"class.boost::unit_test::lazy_ostream_impl.24"* %this1, i32 0, i32 2
  %5 = load %"struct.boost::test_tools::tt_detail::print_helper_t.25"** %value.addr, align 4
  store %"struct.boost::test_tools::tt_detail::print_helper_t.25"* %5, %"struct.boost::test_tools::tt_detail::print_helper_t.25"** %4, align 4
  ret void
}

define linkonce_odr %"class.std::basic_ostream"* @_ZNK5boost9unit_test17lazy_ostream_implIRKNS_10test_tools9tt_detail14print_helper_tIPSt15basic_stringbufIcSt11char_traitsIcESaIcEEEEEclERSo(%"class.boost::unit_test::lazy_ostream_impl.24"* %this, %"class.std::basic_ostream"* %ostr) unnamed_addr align 2 {
entry:
  %this.addr = alloca %"class.boost::unit_test::lazy_ostream_impl.24"*, align 4
  %ostr.addr = alloca %"class.std::basic_ostream"*, align 4
  store %"class.boost::unit_test::lazy_ostream_impl.24"* %this, %"class.boost::unit_test::lazy_ostream_impl.24"** %this.addr, align 4
  store %"class.std::basic_ostream"* %ostr, %"class.std::basic_ostream"** %ostr.addr, align 4
  %this1 = load %"class.boost::unit_test::lazy_ostream_impl.24"** %this.addr
  %m_prev = getelementptr inbounds %"class.boost::unit_test::lazy_ostream_impl.24"* %this1, i32 0, i32 1
  %ref = load %"class.boost::unit_test::lazy_ostream"** %m_prev, align 4
  %0 = bitcast %"class.boost::unit_test::lazy_ostream"* %ref to %"class.std::basic_ostream"* (%"class.boost::unit_test::lazy_ostream"*, %"class.std::basic_ostream"*)***
  %vtable = load %"class.std::basic_ostream"* (%"class.boost::unit_test::lazy_ostream"*, %"class.std::basic_ostream"*)*** %0
  %vfn = getelementptr inbounds %"class.std::basic_ostream"* (%"class.boost::unit_test::lazy_ostream"*, %"class.std::basic_ostream"*)** %vtable, i64 0
  %1 = load %"class.std::basic_ostream"* (%"class.boost::unit_test::lazy_ostream"*, %"class.std::basic_ostream"*)** %vfn
  %2 = load %"class.std::basic_ostream"** %ostr.addr, align 4
  %call = call %"class.std::basic_ostream"* %1(%"class.boost::unit_test::lazy_ostream"* %ref, %"class.std::basic_ostream"* %2)
  %m_value = getelementptr inbounds %"class.boost::unit_test::lazy_ostream_impl.24"* %this1, i32 0, i32 2
  %ref2 = load %"struct.boost::test_tools::tt_detail::print_helper_t.25"** %m_value, align 4
  %call3 = call %"class.std::basic_ostream"* @_ZN5boost10test_tools9tt_detaillsIPSt15basic_stringbufIcSt11char_traitsIcESaIcEEEERSoS9_RKNS1_14print_helper_tIT_EE(%"class.std::basic_ostream"* %call, %"struct.boost::test_tools::tt_detail::print_helper_t.25"* %ref2)
  ret %"class.std::basic_ostream"* %call3
}

define linkonce_odr void @_ZN5boost9unit_test17lazy_ostream_implIRKNS_10test_tools9tt_detail14print_helper_tIPSt15basic_stringbufIcSt11char_traitsIcESaIcEEEEED0Ev(%"class.boost::unit_test::lazy_ostream_impl.24"* %this) unnamed_addr inlinehint align 2 {
entry:
  %this.addr = alloca %"class.boost::unit_test::lazy_ostream_impl.24"*, align 4
  %exn.slot = alloca i8*
  %ehselector.slot = alloca i32
  store %"class.boost::unit_test::lazy_ostream_impl.24"* %this, %"class.boost::unit_test::lazy_ostream_impl.24"** %this.addr, align 4
  %this1 = load %"class.boost::unit_test::lazy_ostream_impl.24"** %this.addr
  invoke void @_ZN5boost9unit_test17lazy_ostream_implIRKNS_10test_tools9tt_detail14print_helper_tIPSt15basic_stringbufIcSt11char_traitsIcESaIcEEEEED1Ev(%"class.boost::unit_test::lazy_ostream_impl.24"* %this1)
          to label %invoke.cont unwind label %lpad

invoke.cont:                                      ; preds = %entry
  %0 = bitcast %"class.boost::unit_test::lazy_ostream_impl.24"* %this1 to i8*
  call void @_ZdlPv(i8* %0) nounwind
  ret void

lpad:                                             ; preds = %entry
  %1 = landingpad { i8*, i32 } personality i8* bitcast (i32 (...)* @__gxx_personality_v0 to i8*)
          cleanup
  %2 = extractvalue { i8*, i32 } %1, 0
  store i8* %2, i8** %exn.slot
  %3 = extractvalue { i8*, i32 } %1, 1
  store i32 %3, i32* %ehselector.slot
  %4 = bitcast %"class.boost::unit_test::lazy_ostream_impl.24"* %this1 to i8*
  call void @_ZdlPv(i8* %4) nounwind
  br label %eh.resume

eh.resume:                                        ; preds = %lpad
  %exn = load i8** %exn.slot
  %sel = load i32* %ehselector.slot
  %lpad.val = insertvalue { i8*, i32 } undef, i8* %exn, 0
  %lpad.val2 = insertvalue { i8*, i32 } %lpad.val, i32 %sel, 1
  resume { i8*, i32 } %lpad.val2
}

define linkonce_odr %"class.std::basic_ostream"* @_ZN5boost10test_tools9tt_detaillsIPSt15basic_stringbufIcSt11char_traitsIcESaIcEEEERSoS9_RKNS1_14print_helper_tIT_EE(%"class.std::basic_ostream"* %ostr, %"struct.boost::test_tools::tt_detail::print_helper_t.25"* %ph) inlinehint {
entry:
  %ostr.addr = alloca %"class.std::basic_ostream"*, align 4
  %ph.addr = alloca %"struct.boost::test_tools::tt_detail::print_helper_t.25"*, align 4
  %tmp = alloca %"struct.boost::test_tools::print_log_value.29", align 1
  store %"class.std::basic_ostream"* %ostr, %"class.std::basic_ostream"** %ostr.addr, align 4
  store %"struct.boost::test_tools::tt_detail::print_helper_t.25"* %ph, %"struct.boost::test_tools::tt_detail::print_helper_t.25"** %ph.addr, align 4
  %0 = load %"class.std::basic_ostream"** %ostr.addr, align 4
  %1 = load %"struct.boost::test_tools::tt_detail::print_helper_t.25"** %ph.addr, align 4
  %m_t = getelementptr inbounds %"struct.boost::test_tools::tt_detail::print_helper_t.25"* %1, i32 0, i32 0
  %ref = load %"class.std::basic_stringbuf"*** %m_t, align 4
  call void @_ZN5boost10test_tools15print_log_valueIPSt15basic_stringbufIcSt11char_traitsIcESaIcEEEclERSoRKS7_(%"struct.boost::test_tools::print_log_value.29"* %tmp, %"class.std::basic_ostream"* %0, %"class.std::basic_stringbuf"** %ref)
  %2 = load %"class.std::basic_ostream"** %ostr.addr, align 4
  ret %"class.std::basic_ostream"* %2
}

define linkonce_odr void @_ZN5boost10test_tools15print_log_valueIPSt15basic_stringbufIcSt11char_traitsIcESaIcEEEclERSoRKS7_(%"struct.boost::test_tools::print_log_value.29"* %this, %"class.std::basic_ostream"* %ostr, %"class.std::basic_stringbuf"** %t) align 2 {
entry:
  %this.addr = alloca %"struct.boost::test_tools::print_log_value.29"*, align 4
  %ostr.addr = alloca %"class.std::basic_ostream"*, align 4
  %t.addr = alloca %"class.std::basic_stringbuf"**, align 4
  %agg.tmp = alloca %"struct.mpl_::bool_", align 1
  store %"struct.boost::test_tools::print_log_value.29"* %this, %"struct.boost::test_tools::print_log_value.29"** %this.addr, align 4
  store %"class.std::basic_ostream"* %ostr, %"class.std::basic_ostream"** %ostr.addr, align 4
  store %"class.std::basic_stringbuf"** %t, %"class.std::basic_stringbuf"*** %t.addr, align 4
  %this1 = load %"struct.boost::test_tools::print_log_value.29"** %this.addr
  %0 = load i8* @_ZN5boost10test_tools12_GLOBAL__N_110dummy_condE, align 1
  %tobool = trunc i8 %0 to i1
  br i1 %tobool, label %if.then, label %if.end

if.then:                                          ; preds = %entry
  br label %if.end

if.end:                                           ; preds = %if.then, %entry
  %1 = load %"class.std::basic_ostream"** %ostr.addr, align 4
  call void @_ZN5boost10test_tools15print_log_valueIPSt15basic_stringbufIcSt11char_traitsIcESaIcEEE13set_precisionERSoN4mpl_5bool_ILb0EEE(%"struct.boost::test_tools::print_log_value.29"* %this1, %"class.std::basic_ostream"* %1)
  %2 = load %"class.std::basic_ostream"** %ostr.addr, align 4
  %3 = load %"class.std::basic_stringbuf"*** %t.addr, align 4
  %4 = load %"class.std::basic_stringbuf"** %3, align 4
  %5 = bitcast %"class.std::basic_stringbuf"* %4 to %"class.std::basic_streambuf"*
  %call = call %"class.std::basic_ostream"* @_ZNSolsEPSt15basic_streambufIcSt11char_traitsIcEE(%"class.std::basic_ostream"* %2, %"class.std::basic_streambuf"* %5)
  ret void
}

define linkonce_odr void @_ZN5boost10test_tools15print_log_valueIPSt15basic_stringbufIcSt11char_traitsIcESaIcEEE13set_precisionERSoN4mpl_5bool_ILb0EEE(%"struct.boost::test_tools::print_log_value.29"* %this, %"class.std::basic_ostream"* %ostr) nounwind align 2 {
entry:
  %this.addr = alloca %"struct.boost::test_tools::print_log_value.29"*, align 4
  %ostr.addr = alloca %"class.std::basic_ostream"*, align 4
  %0 = alloca %"struct.mpl_::bool_", align 1
  store %"struct.boost::test_tools::print_log_value.29"* %this, %"struct.boost::test_tools::print_log_value.29"** %this.addr, align 4
  store %"class.std::basic_ostream"* %ostr, %"class.std::basic_ostream"** %ostr.addr, align 4
  %this1 = load %"struct.boost::test_tools::print_log_value.29"** %this.addr
  ret void
}

define linkonce_odr void @_ZNK5boost10test_tools9tt_detail15equal_impl_frwd9call_implIPSt15basic_stringbufIcSt11char_traitsIcESaIcEEPvEENS0_16predicate_resultERKT_RKT0_N4mpl_5bool_ILb0EEE(%"class.boost::test_tools::predicate_result"* noalias sret %agg.result, %"struct.boost::test_tools::tt_detail::equal_impl_frwd"* %this, %"class.std::basic_stringbuf"** %left, i8** %right) inlinehint align 2 {
entry:
  %this.addr = alloca %"struct.boost::test_tools::tt_detail::equal_impl_frwd"*, align 4
  %left.addr = alloca %"class.std::basic_stringbuf"**, align 4
  %right.addr = alloca i8**, align 4
  %0 = alloca %"struct.mpl_::bool_", align 1
  store %"struct.boost::test_tools::tt_detail::equal_impl_frwd"* %this, %"struct.boost::test_tools::tt_detail::equal_impl_frwd"** %this.addr, align 4
  store %"class.std::basic_stringbuf"** %left, %"class.std::basic_stringbuf"*** %left.addr, align 4
  store i8** %right, i8*** %right.addr, align 4
  %this1 = load %"struct.boost::test_tools::tt_detail::equal_impl_frwd"** %this.addr
  %1 = load %"class.std::basic_stringbuf"*** %left.addr, align 4
  %2 = load i8*** %right.addr, align 4
  call void @_ZN5boost10test_tools9tt_detail10equal_implIPSt15basic_stringbufIcSt11char_traitsIcESaIcEEPvEENS0_16predicate_resultERKT_RKT0_(%"class.boost::test_tools::predicate_result"* sret %agg.result, %"class.std::basic_stringbuf"** %1, i8** %2)
  ret void
}

define linkonce_odr void @_ZN5boost10test_tools9tt_detail10equal_implIPSt15basic_stringbufIcSt11char_traitsIcESaIcEEPvEENS0_16predicate_resultERKT_RKT0_(%"class.boost::test_tools::predicate_result"* noalias sret %agg.result, %"class.std::basic_stringbuf"** %left, i8** %right) {
entry:
  %left.addr = alloca %"class.std::basic_stringbuf"**, align 4
  %right.addr = alloca i8**, align 4
  store %"class.std::basic_stringbuf"** %left, %"class.std::basic_stringbuf"*** %left.addr, align 4
  store i8** %right, i8*** %right.addr, align 4
  %0 = load %"class.std::basic_stringbuf"*** %left.addr, align 4
  %1 = load %"class.std::basic_stringbuf"** %0, align 4
  %2 = bitcast %"class.std::basic_stringbuf"* %1 to i8*
  %3 = load i8*** %right.addr, align 4
  %4 = load i8** %3, align 4
  %cmp = icmp eq i8* %2, %4
  call void @_ZN5boost10test_tools16predicate_resultC1Eb(%"class.boost::test_tools::predicate_result"* %agg.result, i1 zeroext %cmp)
  ret void
}

define linkonce_odr void @_ZNK5boost10test_tools9tt_detail15equal_impl_frwdclIPSt18basic_stringstreamIcSt11char_traitsIcESaIcEEPvEENS0_16predicate_resultERKT_RKT0_(%"class.boost::test_tools::predicate_result"* noalias sret %agg.result, %"struct.boost::test_tools::tt_detail::equal_impl_frwd"* %this, %"class.std::basic_stringstream"** %left, i8** %right) inlinehint align 2 {
entry:
  %this.addr = alloca %"struct.boost::test_tools::tt_detail::equal_impl_frwd"*, align 4
  %left.addr = alloca %"class.std::basic_stringstream"**, align 4
  %right.addr = alloca i8**, align 4
  %agg.tmp = alloca %"struct.mpl_::bool_", align 1
  %ref.tmp = alloca %"struct.boost::integral_constant", align 1
  store %"struct.boost::test_tools::tt_detail::equal_impl_frwd"* %this, %"struct.boost::test_tools::tt_detail::equal_impl_frwd"** %this.addr, align 4
  store %"class.std::basic_stringstream"** %left, %"class.std::basic_stringstream"*** %left.addr, align 4
  store i8** %right, i8*** %right.addr, align 4
  %this1 = load %"struct.boost::test_tools::tt_detail::equal_impl_frwd"** %this.addr
  %0 = load %"class.std::basic_stringstream"*** %left.addr, align 4
  %1 = load i8*** %right.addr, align 4
  %2 = bitcast %"struct.boost::integral_constant"* %ref.tmp to %"struct.mpl_::bool_"*
  call void @_ZNK5boost10test_tools9tt_detail15equal_impl_frwd9call_implIPSt18basic_stringstreamIcSt11char_traitsIcESaIcEEPvEENS0_16predicate_resultERKT_RKT0_N4mpl_5bool_ILb0EEE(%"class.boost::test_tools::predicate_result"* sret %agg.result, %"struct.boost::test_tools::tt_detail::equal_impl_frwd"* %this1, %"class.std::basic_stringstream"** %0, i8** %1)
  ret void
}

define linkonce_odr void @_ZN5boost9unit_testlsINS_10test_tools9tt_detail14print_helper_tIPSt18basic_stringstreamIcSt11char_traitsIcESaIcEEEEEENS0_17lazy_ostream_implIRKT_EERKNS0_12lazy_ostreamESF_(%"class.boost::unit_test::lazy_ostream_impl.30"* noalias sret %agg.result, %"class.boost::unit_test::lazy_ostream"* %prev, %"struct.boost::test_tools::tt_detail::print_helper_t.31"* %v) inlinehint {
entry:
  %prev.addr = alloca %"class.boost::unit_test::lazy_ostream"*, align 4
  %v.addr = alloca %"struct.boost::test_tools::tt_detail::print_helper_t.31"*, align 4
  store %"class.boost::unit_test::lazy_ostream"* %prev, %"class.boost::unit_test::lazy_ostream"** %prev.addr, align 4
  store %"struct.boost::test_tools::tt_detail::print_helper_t.31"* %v, %"struct.boost::test_tools::tt_detail::print_helper_t.31"** %v.addr, align 4
  %0 = load %"class.boost::unit_test::lazy_ostream"** %prev.addr, align 4
  %1 = load %"struct.boost::test_tools::tt_detail::print_helper_t.31"** %v.addr, align 4
  call void @_ZN5boost9unit_test17lazy_ostream_implIRKNS_10test_tools9tt_detail14print_helper_tIPSt18basic_stringstreamIcSt11char_traitsIcESaIcEEEEEC1ERKNS0_12lazy_ostreamESD_(%"class.boost::unit_test::lazy_ostream_impl.30"* %agg.result, %"class.boost::unit_test::lazy_ostream"* %0, %"struct.boost::test_tools::tt_detail::print_helper_t.31"* %1)
  ret void
}

define linkonce_odr void @_ZN5boost10test_tools9tt_detail12print_helperIPSt18basic_stringstreamIcSt11char_traitsIcESaIcEEEENS1_14print_helper_tIT_EERKSA_(%"struct.boost::test_tools::tt_detail::print_helper_t.31"* noalias sret %agg.result, %"class.std::basic_stringstream"** %t) inlinehint {
entry:
  %t.addr = alloca %"class.std::basic_stringstream"**, align 4
  store %"class.std::basic_stringstream"** %t, %"class.std::basic_stringstream"*** %t.addr, align 4
  %0 = load %"class.std::basic_stringstream"*** %t.addr, align 4
  call void @_ZN5boost10test_tools9tt_detail14print_helper_tIPSt18basic_stringstreamIcSt11char_traitsIcESaIcEEEC1ERKS8_(%"struct.boost::test_tools::tt_detail::print_helper_t.31"* %agg.result, %"class.std::basic_stringstream"** %0)
  ret void
}

define linkonce_odr void @_ZN5boost9unit_test17lazy_ostream_implIRKNS_10test_tools9tt_detail14print_helper_tIPSt18basic_stringstreamIcSt11char_traitsIcESaIcEEEEED1Ev(%"class.boost::unit_test::lazy_ostream_impl.30"* %this) unnamed_addr inlinehint align 2 {
entry:
  %this.addr = alloca %"class.boost::unit_test::lazy_ostream_impl.30"*, align 4
  store %"class.boost::unit_test::lazy_ostream_impl.30"* %this, %"class.boost::unit_test::lazy_ostream_impl.30"** %this.addr, align 4
  %this1 = load %"class.boost::unit_test::lazy_ostream_impl.30"** %this.addr
  call void @_ZN5boost9unit_test17lazy_ostream_implIRKNS_10test_tools9tt_detail14print_helper_tIPSt18basic_stringstreamIcSt11char_traitsIcESaIcEEEEED2Ev(%"class.boost::unit_test::lazy_ostream_impl.30"* %this1)
  ret void
}

define linkonce_odr void @_ZN5boost9unit_test17lazy_ostream_implIRKNS_10test_tools9tt_detail14print_helper_tIPSt18basic_stringstreamIcSt11char_traitsIcESaIcEEEEED2Ev(%"class.boost::unit_test::lazy_ostream_impl.30"* %this) unnamed_addr nounwind inlinehint align 2 {
entry:
  %this.addr = alloca %"class.boost::unit_test::lazy_ostream_impl.30"*, align 4
  store %"class.boost::unit_test::lazy_ostream_impl.30"* %this, %"class.boost::unit_test::lazy_ostream_impl.30"** %this.addr, align 4
  %this1 = load %"class.boost::unit_test::lazy_ostream_impl.30"** %this.addr
  %0 = bitcast %"class.boost::unit_test::lazy_ostream_impl.30"* %this1 to %"class.boost::unit_test::lazy_ostream"*
  call void @_ZN5boost9unit_test12lazy_ostreamD2Ev(%"class.boost::unit_test::lazy_ostream"* %0)
  ret void
}

define linkonce_odr void @_ZN5boost10test_tools9tt_detail14print_helper_tIPSt18basic_stringstreamIcSt11char_traitsIcESaIcEEEC1ERKS8_(%"struct.boost::test_tools::tt_detail::print_helper_t.31"* %this, %"class.std::basic_stringstream"** %t) unnamed_addr align 2 {
entry:
  %this.addr = alloca %"struct.boost::test_tools::tt_detail::print_helper_t.31"*, align 4
  %t.addr = alloca %"class.std::basic_stringstream"**, align 4
  store %"struct.boost::test_tools::tt_detail::print_helper_t.31"* %this, %"struct.boost::test_tools::tt_detail::print_helper_t.31"** %this.addr, align 4
  store %"class.std::basic_stringstream"** %t, %"class.std::basic_stringstream"*** %t.addr, align 4
  %this1 = load %"struct.boost::test_tools::tt_detail::print_helper_t.31"** %this.addr
  %0 = load %"class.std::basic_stringstream"*** %t.addr
  call void @_ZN5boost10test_tools9tt_detail14print_helper_tIPSt18basic_stringstreamIcSt11char_traitsIcESaIcEEEC2ERKS8_(%"struct.boost::test_tools::tt_detail::print_helper_t.31"* %this1, %"class.std::basic_stringstream"** %0)
  ret void
}

define linkonce_odr void @_ZN5boost10test_tools9tt_detail14print_helper_tIPSt18basic_stringstreamIcSt11char_traitsIcESaIcEEEC2ERKS8_(%"struct.boost::test_tools::tt_detail::print_helper_t.31"* %this, %"class.std::basic_stringstream"** %t) unnamed_addr nounwind align 2 {
entry:
  %this.addr = alloca %"struct.boost::test_tools::tt_detail::print_helper_t.31"*, align 4
  %t.addr = alloca %"class.std::basic_stringstream"**, align 4
  store %"struct.boost::test_tools::tt_detail::print_helper_t.31"* %this, %"struct.boost::test_tools::tt_detail::print_helper_t.31"** %this.addr, align 4
  store %"class.std::basic_stringstream"** %t, %"class.std::basic_stringstream"*** %t.addr, align 4
  %this1 = load %"struct.boost::test_tools::tt_detail::print_helper_t.31"** %this.addr
  %0 = getelementptr inbounds %"struct.boost::test_tools::tt_detail::print_helper_t.31"* %this1, i32 0, i32 0
  %1 = load %"class.std::basic_stringstream"*** %t.addr, align 4
  store %"class.std::basic_stringstream"** %1, %"class.std::basic_stringstream"*** %0, align 4
  ret void
}

define linkonce_odr void @_ZN5boost9unit_test17lazy_ostream_implIRKNS_10test_tools9tt_detail14print_helper_tIPSt18basic_stringstreamIcSt11char_traitsIcESaIcEEEEEC1ERKNS0_12lazy_ostreamESD_(%"class.boost::unit_test::lazy_ostream_impl.30"* %this, %"class.boost::unit_test::lazy_ostream"* %prev, %"struct.boost::test_tools::tt_detail::print_helper_t.31"* %value) unnamed_addr align 2 {
entry:
  %this.addr = alloca %"class.boost::unit_test::lazy_ostream_impl.30"*, align 4
  %prev.addr = alloca %"class.boost::unit_test::lazy_ostream"*, align 4
  %value.addr = alloca %"struct.boost::test_tools::tt_detail::print_helper_t.31"*, align 4
  store %"class.boost::unit_test::lazy_ostream_impl.30"* %this, %"class.boost::unit_test::lazy_ostream_impl.30"** %this.addr, align 4
  store %"class.boost::unit_test::lazy_ostream"* %prev, %"class.boost::unit_test::lazy_ostream"** %prev.addr, align 4
  store %"struct.boost::test_tools::tt_detail::print_helper_t.31"* %value, %"struct.boost::test_tools::tt_detail::print_helper_t.31"** %value.addr, align 4
  %this1 = load %"class.boost::unit_test::lazy_ostream_impl.30"** %this.addr
  %0 = load %"class.boost::unit_test::lazy_ostream"** %prev.addr
  %1 = load %"struct.boost::test_tools::tt_detail::print_helper_t.31"** %value.addr
  call void @_ZN5boost9unit_test17lazy_ostream_implIRKNS_10test_tools9tt_detail14print_helper_tIPSt18basic_stringstreamIcSt11char_traitsIcESaIcEEEEEC2ERKNS0_12lazy_ostreamESD_(%"class.boost::unit_test::lazy_ostream_impl.30"* %this1, %"class.boost::unit_test::lazy_ostream"* %0, %"struct.boost::test_tools::tt_detail::print_helper_t.31"* %1)
  ret void
}

define linkonce_odr void @_ZN5boost9unit_test17lazy_ostream_implIRKNS_10test_tools9tt_detail14print_helper_tIPSt18basic_stringstreamIcSt11char_traitsIcESaIcEEEEEC2ERKNS0_12lazy_ostreamESD_(%"class.boost::unit_test::lazy_ostream_impl.30"* %this, %"class.boost::unit_test::lazy_ostream"* %prev, %"struct.boost::test_tools::tt_detail::print_helper_t.31"* %value) unnamed_addr nounwind align 2 {
entry:
  %this.addr = alloca %"class.boost::unit_test::lazy_ostream_impl.30"*, align 4
  %prev.addr = alloca %"class.boost::unit_test::lazy_ostream"*, align 4
  %value.addr = alloca %"struct.boost::test_tools::tt_detail::print_helper_t.31"*, align 4
  store %"class.boost::unit_test::lazy_ostream_impl.30"* %this, %"class.boost::unit_test::lazy_ostream_impl.30"** %this.addr, align 4
  store %"class.boost::unit_test::lazy_ostream"* %prev, %"class.boost::unit_test::lazy_ostream"** %prev.addr, align 4
  store %"struct.boost::test_tools::tt_detail::print_helper_t.31"* %value, %"struct.boost::test_tools::tt_detail::print_helper_t.31"** %value.addr, align 4
  %this1 = load %"class.boost::unit_test::lazy_ostream_impl.30"** %this.addr
  %0 = bitcast %"class.boost::unit_test::lazy_ostream_impl.30"* %this1 to %"class.boost::unit_test::lazy_ostream"*
  call void @_ZN5boost9unit_test12lazy_ostreamC2Eb(%"class.boost::unit_test::lazy_ostream"* %0, i1 zeroext false)
  %1 = bitcast %"class.boost::unit_test::lazy_ostream_impl.30"* %this1 to i8***
  store i8** getelementptr inbounds ([5 x i8*]* @_ZTVN5boost9unit_test17lazy_ostream_implIRKNS_10test_tools9tt_detail14print_helper_tIPSt18basic_stringstreamIcSt11char_traitsIcESaIcEEEEEE, i64 0, i64 2), i8*** %1
  %2 = getelementptr inbounds %"class.boost::unit_test::lazy_ostream_impl.30"* %this1, i32 0, i32 1
  %3 = load %"class.boost::unit_test::lazy_ostream"** %prev.addr, align 4
  store %"class.boost::unit_test::lazy_ostream"* %3, %"class.boost::unit_test::lazy_ostream"** %2, align 4
  %4 = getelementptr inbounds %"class.boost::unit_test::lazy_ostream_impl.30"* %this1, i32 0, i32 2
  %5 = load %"struct.boost::test_tools::tt_detail::print_helper_t.31"** %value.addr, align 4
  store %"struct.boost::test_tools::tt_detail::print_helper_t.31"* %5, %"struct.boost::test_tools::tt_detail::print_helper_t.31"** %4, align 4
  ret void
}

define linkonce_odr %"class.std::basic_ostream"* @_ZNK5boost9unit_test17lazy_ostream_implIRKNS_10test_tools9tt_detail14print_helper_tIPSt18basic_stringstreamIcSt11char_traitsIcESaIcEEEEEclERSo(%"class.boost::unit_test::lazy_ostream_impl.30"* %this, %"class.std::basic_ostream"* %ostr) unnamed_addr align 2 {
entry:
  %this.addr = alloca %"class.boost::unit_test::lazy_ostream_impl.30"*, align 4
  %ostr.addr = alloca %"class.std::basic_ostream"*, align 4
  store %"class.boost::unit_test::lazy_ostream_impl.30"* %this, %"class.boost::unit_test::lazy_ostream_impl.30"** %this.addr, align 4
  store %"class.std::basic_ostream"* %ostr, %"class.std::basic_ostream"** %ostr.addr, align 4
  %this1 = load %"class.boost::unit_test::lazy_ostream_impl.30"** %this.addr
  %m_prev = getelementptr inbounds %"class.boost::unit_test::lazy_ostream_impl.30"* %this1, i32 0, i32 1
  %ref = load %"class.boost::unit_test::lazy_ostream"** %m_prev, align 4
  %0 = bitcast %"class.boost::unit_test::lazy_ostream"* %ref to %"class.std::basic_ostream"* (%"class.boost::unit_test::lazy_ostream"*, %"class.std::basic_ostream"*)***
  %vtable = load %"class.std::basic_ostream"* (%"class.boost::unit_test::lazy_ostream"*, %"class.std::basic_ostream"*)*** %0
  %vfn = getelementptr inbounds %"class.std::basic_ostream"* (%"class.boost::unit_test::lazy_ostream"*, %"class.std::basic_ostream"*)** %vtable, i64 0
  %1 = load %"class.std::basic_ostream"* (%"class.boost::unit_test::lazy_ostream"*, %"class.std::basic_ostream"*)** %vfn
  %2 = load %"class.std::basic_ostream"** %ostr.addr, align 4
  %call = call %"class.std::basic_ostream"* %1(%"class.boost::unit_test::lazy_ostream"* %ref, %"class.std::basic_ostream"* %2)
  %m_value = getelementptr inbounds %"class.boost::unit_test::lazy_ostream_impl.30"* %this1, i32 0, i32 2
  %ref2 = load %"struct.boost::test_tools::tt_detail::print_helper_t.31"** %m_value, align 4
  %call3 = call %"class.std::basic_ostream"* @_ZN5boost10test_tools9tt_detaillsIPSt18basic_stringstreamIcSt11char_traitsIcESaIcEEEERSoS9_RKNS1_14print_helper_tIT_EE(%"class.std::basic_ostream"* %call, %"struct.boost::test_tools::tt_detail::print_helper_t.31"* %ref2)
  ret %"class.std::basic_ostream"* %call3
}

define linkonce_odr void @_ZN5boost9unit_test17lazy_ostream_implIRKNS_10test_tools9tt_detail14print_helper_tIPSt18basic_stringstreamIcSt11char_traitsIcESaIcEEEEED0Ev(%"class.boost::unit_test::lazy_ostream_impl.30"* %this) unnamed_addr inlinehint align 2 {
entry:
  %this.addr = alloca %"class.boost::unit_test::lazy_ostream_impl.30"*, align 4
  %exn.slot = alloca i8*
  %ehselector.slot = alloca i32
  store %"class.boost::unit_test::lazy_ostream_impl.30"* %this, %"class.boost::unit_test::lazy_ostream_impl.30"** %this.addr, align 4
  %this1 = load %"class.boost::unit_test::lazy_ostream_impl.30"** %this.addr
  invoke void @_ZN5boost9unit_test17lazy_ostream_implIRKNS_10test_tools9tt_detail14print_helper_tIPSt18basic_stringstreamIcSt11char_traitsIcESaIcEEEEED1Ev(%"class.boost::unit_test::lazy_ostream_impl.30"* %this1)
          to label %invoke.cont unwind label %lpad

invoke.cont:                                      ; preds = %entry
  %0 = bitcast %"class.boost::unit_test::lazy_ostream_impl.30"* %this1 to i8*
  call void @_ZdlPv(i8* %0) nounwind
  ret void

lpad:                                             ; preds = %entry
  %1 = landingpad { i8*, i32 } personality i8* bitcast (i32 (...)* @__gxx_personality_v0 to i8*)
          cleanup
  %2 = extractvalue { i8*, i32 } %1, 0
  store i8* %2, i8** %exn.slot
  %3 = extractvalue { i8*, i32 } %1, 1
  store i32 %3, i32* %ehselector.slot
  %4 = bitcast %"class.boost::unit_test::lazy_ostream_impl.30"* %this1 to i8*
  call void @_ZdlPv(i8* %4) nounwind
  br label %eh.resume

eh.resume:                                        ; preds = %lpad
  %exn = load i8** %exn.slot
  %sel = load i32* %ehselector.slot
  %lpad.val = insertvalue { i8*, i32 } undef, i8* %exn, 0
  %lpad.val2 = insertvalue { i8*, i32 } %lpad.val, i32 %sel, 1
  resume { i8*, i32 } %lpad.val2
}

define linkonce_odr %"class.std::basic_ostream"* @_ZN5boost10test_tools9tt_detaillsIPSt18basic_stringstreamIcSt11char_traitsIcESaIcEEEERSoS9_RKNS1_14print_helper_tIT_EE(%"class.std::basic_ostream"* %ostr, %"struct.boost::test_tools::tt_detail::print_helper_t.31"* %ph) inlinehint {
entry:
  %ostr.addr = alloca %"class.std::basic_ostream"*, align 4
  %ph.addr = alloca %"struct.boost::test_tools::tt_detail::print_helper_t.31"*, align 4
  %tmp = alloca %"struct.boost::test_tools::print_log_value.32", align 1
  store %"class.std::basic_ostream"* %ostr, %"class.std::basic_ostream"** %ostr.addr, align 4
  store %"struct.boost::test_tools::tt_detail::print_helper_t.31"* %ph, %"struct.boost::test_tools::tt_detail::print_helper_t.31"** %ph.addr, align 4
  %0 = load %"class.std::basic_ostream"** %ostr.addr, align 4
  %1 = load %"struct.boost::test_tools::tt_detail::print_helper_t.31"** %ph.addr, align 4
  %m_t = getelementptr inbounds %"struct.boost::test_tools::tt_detail::print_helper_t.31"* %1, i32 0, i32 0
  %ref = load %"class.std::basic_stringstream"*** %m_t, align 4
  call void @_ZN5boost10test_tools15print_log_valueIPSt18basic_stringstreamIcSt11char_traitsIcESaIcEEEclERSoRKS7_(%"struct.boost::test_tools::print_log_value.32"* %tmp, %"class.std::basic_ostream"* %0, %"class.std::basic_stringstream"** %ref)
  %2 = load %"class.std::basic_ostream"** %ostr.addr, align 4
  ret %"class.std::basic_ostream"* %2
}

define linkonce_odr void @_ZN5boost10test_tools15print_log_valueIPSt18basic_stringstreamIcSt11char_traitsIcESaIcEEEclERSoRKS7_(%"struct.boost::test_tools::print_log_value.32"* %this, %"class.std::basic_ostream"* %ostr, %"class.std::basic_stringstream"** %t) align 2 {
entry:
  %this.addr = alloca %"struct.boost::test_tools::print_log_value.32"*, align 4
  %ostr.addr = alloca %"class.std::basic_ostream"*, align 4
  %t.addr = alloca %"class.std::basic_stringstream"**, align 4
  %agg.tmp = alloca %"struct.mpl_::bool_", align 1
  store %"struct.boost::test_tools::print_log_value.32"* %this, %"struct.boost::test_tools::print_log_value.32"** %this.addr, align 4
  store %"class.std::basic_ostream"* %ostr, %"class.std::basic_ostream"** %ostr.addr, align 4
  store %"class.std::basic_stringstream"** %t, %"class.std::basic_stringstream"*** %t.addr, align 4
  %this1 = load %"struct.boost::test_tools::print_log_value.32"** %this.addr
  %0 = load i8* @_ZN5boost10test_tools12_GLOBAL__N_110dummy_condE, align 1
  %tobool = trunc i8 %0 to i1
  br i1 %tobool, label %if.then, label %if.end

if.then:                                          ; preds = %entry
  br label %if.end

if.end:                                           ; preds = %if.then, %entry
  %1 = load %"class.std::basic_ostream"** %ostr.addr, align 4
  call void @_ZN5boost10test_tools15print_log_valueIPSt18basic_stringstreamIcSt11char_traitsIcESaIcEEE13set_precisionERSoN4mpl_5bool_ILb0EEE(%"struct.boost::test_tools::print_log_value.32"* %this1, %"class.std::basic_ostream"* %1)
  %2 = load %"class.std::basic_ostream"** %ostr.addr, align 4
  %3 = load %"class.std::basic_stringstream"*** %t.addr, align 4
  %4 = load %"class.std::basic_stringstream"** %3, align 4
  %5 = bitcast %"class.std::basic_stringstream"* %4 to i8*
  %call = call %"class.std::basic_ostream"* @_ZNSolsEPKv(%"class.std::basic_ostream"* %2, i8* %5)
  ret void
}

define linkonce_odr void @_ZN5boost10test_tools15print_log_valueIPSt18basic_stringstreamIcSt11char_traitsIcESaIcEEE13set_precisionERSoN4mpl_5bool_ILb0EEE(%"struct.boost::test_tools::print_log_value.32"* %this, %"class.std::basic_ostream"* %ostr) nounwind align 2 {
entry:
  %this.addr = alloca %"struct.boost::test_tools::print_log_value.32"*, align 4
  %ostr.addr = alloca %"class.std::basic_ostream"*, align 4
  %0 = alloca %"struct.mpl_::bool_", align 1
  store %"struct.boost::test_tools::print_log_value.32"* %this, %"struct.boost::test_tools::print_log_value.32"** %this.addr, align 4
  store %"class.std::basic_ostream"* %ostr, %"class.std::basic_ostream"** %ostr.addr, align 4
  %this1 = load %"struct.boost::test_tools::print_log_value.32"** %this.addr
  ret void
}

define linkonce_odr void @_ZNK5boost10test_tools9tt_detail15equal_impl_frwd9call_implIPSt18basic_stringstreamIcSt11char_traitsIcESaIcEEPvEENS0_16predicate_resultERKT_RKT0_N4mpl_5bool_ILb0EEE(%"class.boost::test_tools::predicate_result"* noalias sret %agg.result, %"struct.boost::test_tools::tt_detail::equal_impl_frwd"* %this, %"class.std::basic_stringstream"** %left, i8** %right) inlinehint align 2 {
entry:
  %this.addr = alloca %"struct.boost::test_tools::tt_detail::equal_impl_frwd"*, align 4
  %left.addr = alloca %"class.std::basic_stringstream"**, align 4
  %right.addr = alloca i8**, align 4
  %0 = alloca %"struct.mpl_::bool_", align 1
  store %"struct.boost::test_tools::tt_detail::equal_impl_frwd"* %this, %"struct.boost::test_tools::tt_detail::equal_impl_frwd"** %this.addr, align 4
  store %"class.std::basic_stringstream"** %left, %"class.std::basic_stringstream"*** %left.addr, align 4
  store i8** %right, i8*** %right.addr, align 4
  %this1 = load %"struct.boost::test_tools::tt_detail::equal_impl_frwd"** %this.addr
  %1 = load %"class.std::basic_stringstream"*** %left.addr, align 4
  %2 = load i8*** %right.addr, align 4
  call void @_ZN5boost10test_tools9tt_detail10equal_implIPSt18basic_stringstreamIcSt11char_traitsIcESaIcEEPvEENS0_16predicate_resultERKT_RKT0_(%"class.boost::test_tools::predicate_result"* sret %agg.result, %"class.std::basic_stringstream"** %1, i8** %2)
  ret void
}

define linkonce_odr void @_ZN5boost10test_tools9tt_detail10equal_implIPSt18basic_stringstreamIcSt11char_traitsIcESaIcEEPvEENS0_16predicate_resultERKT_RKT0_(%"class.boost::test_tools::predicate_result"* noalias sret %agg.result, %"class.std::basic_stringstream"** %left, i8** %right) {
entry:
  %left.addr = alloca %"class.std::basic_stringstream"**, align 4
  %right.addr = alloca i8**, align 4
  store %"class.std::basic_stringstream"** %left, %"class.std::basic_stringstream"*** %left.addr, align 4
  store i8** %right, i8*** %right.addr, align 4
  %0 = load %"class.std::basic_stringstream"*** %left.addr, align 4
  %1 = load %"class.std::basic_stringstream"** %0, align 4
  %2 = bitcast %"class.std::basic_stringstream"* %1 to i8*
  %3 = load i8*** %right.addr, align 4
  %4 = load i8** %3, align 4
  %cmp = icmp eq i8* %2, %4
  call void @_ZN5boost10test_tools16predicate_resultC1Eb(%"class.boost::test_tools::predicate_result"* %agg.result, i1 zeroext %cmp)
  ret void
}

define linkonce_odr void @_ZNK5boost10test_tools9tt_detail15equal_impl_frwdclIilEENS0_16predicate_resultERKT_RKT0_(%"class.boost::test_tools::predicate_result"* noalias sret %agg.result, %"struct.boost::test_tools::tt_detail::equal_impl_frwd"* %this, i32* %left, i32* %right) inlinehint align 2 {
entry:
  %this.addr = alloca %"struct.boost::test_tools::tt_detail::equal_impl_frwd"*, align 4
  %left.addr = alloca i32*, align 4
  %right.addr = alloca i32*, align 4
  %agg.tmp = alloca %"struct.mpl_::bool_", align 1
  %ref.tmp = alloca %"struct.boost::integral_constant", align 1
  store %"struct.boost::test_tools::tt_detail::equal_impl_frwd"* %this, %"struct.boost::test_tools::tt_detail::equal_impl_frwd"** %this.addr, align 4
  store i32* %left, i32** %left.addr, align 4
  store i32* %right, i32** %right.addr, align 4
  %this1 = load %"struct.boost::test_tools::tt_detail::equal_impl_frwd"** %this.addr
  %0 = load i32** %left.addr, align 4
  %1 = load i32** %right.addr, align 4
  %2 = bitcast %"struct.boost::integral_constant"* %ref.tmp to %"struct.mpl_::bool_"*
  call void @_ZNK5boost10test_tools9tt_detail15equal_impl_frwd9call_implIilEENS0_16predicate_resultERKT_RKT0_N4mpl_5bool_ILb0EEE(%"class.boost::test_tools::predicate_result"* sret %agg.result, %"struct.boost::test_tools::tt_detail::equal_impl_frwd"* %this1, i32* %0, i32* %1)
  ret void
}

define linkonce_odr void @_ZN5boost9unit_testlsINS_10test_tools9tt_detail14print_helper_tIiEEEENS0_17lazy_ostream_implIRKT_EERKNS0_12lazy_ostreamES9_(%"class.boost::unit_test::lazy_ostream_impl.33"* noalias sret %agg.result, %"class.boost::unit_test::lazy_ostream"* %prev, %"struct.boost::test_tools::tt_detail::print_helper_t.34"* %v) inlinehint {
entry:
  %prev.addr = alloca %"class.boost::unit_test::lazy_ostream"*, align 4
  %v.addr = alloca %"struct.boost::test_tools::tt_detail::print_helper_t.34"*, align 4
  store %"class.boost::unit_test::lazy_ostream"* %prev, %"class.boost::unit_test::lazy_ostream"** %prev.addr, align 4
  store %"struct.boost::test_tools::tt_detail::print_helper_t.34"* %v, %"struct.boost::test_tools::tt_detail::print_helper_t.34"** %v.addr, align 4
  %0 = load %"class.boost::unit_test::lazy_ostream"** %prev.addr, align 4
  %1 = load %"struct.boost::test_tools::tt_detail::print_helper_t.34"** %v.addr, align 4
  call void @_ZN5boost9unit_test17lazy_ostream_implIRKNS_10test_tools9tt_detail14print_helper_tIiEEEC1ERKNS0_12lazy_ostreamES7_(%"class.boost::unit_test::lazy_ostream_impl.33"* %agg.result, %"class.boost::unit_test::lazy_ostream"* %0, %"struct.boost::test_tools::tt_detail::print_helper_t.34"* %1)
  ret void
}

define linkonce_odr void @_ZN5boost10test_tools9tt_detail12print_helperIiEENS1_14print_helper_tIT_EERKS4_(%"struct.boost::test_tools::tt_detail::print_helper_t.34"* noalias sret %agg.result, i32* %t) inlinehint {
entry:
  %t.addr = alloca i32*, align 4
  store i32* %t, i32** %t.addr, align 4
  %0 = load i32** %t.addr, align 4
  call void @_ZN5boost10test_tools9tt_detail14print_helper_tIiEC1ERKi(%"struct.boost::test_tools::tt_detail::print_helper_t.34"* %agg.result, i32* %0)
  ret void
}

define linkonce_odr void @_ZN5boost9unit_testlsINS_10test_tools9tt_detail14print_helper_tIlEEEENS0_17lazy_ostream_implIRKT_EERKNS0_12lazy_ostreamES9_(%"class.boost::unit_test::lazy_ostream_impl.35"* noalias sret %agg.result, %"class.boost::unit_test::lazy_ostream"* %prev, %"struct.boost::test_tools::tt_detail::print_helper_t.36"* %v) inlinehint {
entry:
  %prev.addr = alloca %"class.boost::unit_test::lazy_ostream"*, align 4
  %v.addr = alloca %"struct.boost::test_tools::tt_detail::print_helper_t.36"*, align 4
  store %"class.boost::unit_test::lazy_ostream"* %prev, %"class.boost::unit_test::lazy_ostream"** %prev.addr, align 4
  store %"struct.boost::test_tools::tt_detail::print_helper_t.36"* %v, %"struct.boost::test_tools::tt_detail::print_helper_t.36"** %v.addr, align 4
  %0 = load %"class.boost::unit_test::lazy_ostream"** %prev.addr, align 4
  %1 = load %"struct.boost::test_tools::tt_detail::print_helper_t.36"** %v.addr, align 4
  call void @_ZN5boost9unit_test17lazy_ostream_implIRKNS_10test_tools9tt_detail14print_helper_tIlEEEC1ERKNS0_12lazy_ostreamES7_(%"class.boost::unit_test::lazy_ostream_impl.35"* %agg.result, %"class.boost::unit_test::lazy_ostream"* %0, %"struct.boost::test_tools::tt_detail::print_helper_t.36"* %1)
  ret void
}

define linkonce_odr void @_ZN5boost10test_tools9tt_detail12print_helperIlEENS1_14print_helper_tIT_EERKS4_(%"struct.boost::test_tools::tt_detail::print_helper_t.36"* noalias sret %agg.result, i32* %t) inlinehint {
entry:
  %t.addr = alloca i32*, align 4
  store i32* %t, i32** %t.addr, align 4
  %0 = load i32** %t.addr, align 4
  call void @_ZN5boost10test_tools9tt_detail14print_helper_tIlEC1ERKl(%"struct.boost::test_tools::tt_detail::print_helper_t.36"* %agg.result, i32* %0)
  ret void
}

define linkonce_odr void @_ZN5boost9unit_test17lazy_ostream_implIRKNS_10test_tools9tt_detail14print_helper_tIlEEED1Ev(%"class.boost::unit_test::lazy_ostream_impl.35"* %this) unnamed_addr inlinehint align 2 {
entry:
  %this.addr = alloca %"class.boost::unit_test::lazy_ostream_impl.35"*, align 4
  store %"class.boost::unit_test::lazy_ostream_impl.35"* %this, %"class.boost::unit_test::lazy_ostream_impl.35"** %this.addr, align 4
  %this1 = load %"class.boost::unit_test::lazy_ostream_impl.35"** %this.addr
  call void @_ZN5boost9unit_test17lazy_ostream_implIRKNS_10test_tools9tt_detail14print_helper_tIlEEED2Ev(%"class.boost::unit_test::lazy_ostream_impl.35"* %this1)
  ret void
}

define linkonce_odr void @_ZN5boost9unit_test17lazy_ostream_implIRKNS_10test_tools9tt_detail14print_helper_tIiEEED1Ev(%"class.boost::unit_test::lazy_ostream_impl.33"* %this) unnamed_addr inlinehint align 2 {
entry:
  %this.addr = alloca %"class.boost::unit_test::lazy_ostream_impl.33"*, align 4
  store %"class.boost::unit_test::lazy_ostream_impl.33"* %this, %"class.boost::unit_test::lazy_ostream_impl.33"** %this.addr, align 4
  %this1 = load %"class.boost::unit_test::lazy_ostream_impl.33"** %this.addr
  call void @_ZN5boost9unit_test17lazy_ostream_implIRKNS_10test_tools9tt_detail14print_helper_tIiEEED2Ev(%"class.boost::unit_test::lazy_ostream_impl.33"* %this1)
  ret void
}

define linkonce_odr void @_ZN5boost9unit_test17lazy_ostream_implIRKNS_10test_tools9tt_detail14print_helper_tIiEEED2Ev(%"class.boost::unit_test::lazy_ostream_impl.33"* %this) unnamed_addr nounwind inlinehint align 2 {
entry:
  %this.addr = alloca %"class.boost::unit_test::lazy_ostream_impl.33"*, align 4
  store %"class.boost::unit_test::lazy_ostream_impl.33"* %this, %"class.boost::unit_test::lazy_ostream_impl.33"** %this.addr, align 4
  %this1 = load %"class.boost::unit_test::lazy_ostream_impl.33"** %this.addr
  %0 = bitcast %"class.boost::unit_test::lazy_ostream_impl.33"* %this1 to %"class.boost::unit_test::lazy_ostream"*
  call void @_ZN5boost9unit_test12lazy_ostreamD2Ev(%"class.boost::unit_test::lazy_ostream"* %0)
  ret void
}

define linkonce_odr void @_ZN5boost9unit_test17lazy_ostream_implIRKNS_10test_tools9tt_detail14print_helper_tIlEEED2Ev(%"class.boost::unit_test::lazy_ostream_impl.35"* %this) unnamed_addr nounwind inlinehint align 2 {
entry:
  %this.addr = alloca %"class.boost::unit_test::lazy_ostream_impl.35"*, align 4
  store %"class.boost::unit_test::lazy_ostream_impl.35"* %this, %"class.boost::unit_test::lazy_ostream_impl.35"** %this.addr, align 4
  %this1 = load %"class.boost::unit_test::lazy_ostream_impl.35"** %this.addr
  %0 = bitcast %"class.boost::unit_test::lazy_ostream_impl.35"* %this1 to %"class.boost::unit_test::lazy_ostream"*
  call void @_ZN5boost9unit_test12lazy_ostreamD2Ev(%"class.boost::unit_test::lazy_ostream"* %0)
  ret void
}

define linkonce_odr void @_ZN5boost10test_tools9tt_detail14print_helper_tIlEC1ERKl(%"struct.boost::test_tools::tt_detail::print_helper_t.36"* %this, i32* %t) unnamed_addr align 2 {
entry:
  %this.addr = alloca %"struct.boost::test_tools::tt_detail::print_helper_t.36"*, align 4
  %t.addr = alloca i32*, align 4
  store %"struct.boost::test_tools::tt_detail::print_helper_t.36"* %this, %"struct.boost::test_tools::tt_detail::print_helper_t.36"** %this.addr, align 4
  store i32* %t, i32** %t.addr, align 4
  %this1 = load %"struct.boost::test_tools::tt_detail::print_helper_t.36"** %this.addr
  %0 = load i32** %t.addr
  call void @_ZN5boost10test_tools9tt_detail14print_helper_tIlEC2ERKl(%"struct.boost::test_tools::tt_detail::print_helper_t.36"* %this1, i32* %0)
  ret void
}

define linkonce_odr void @_ZN5boost10test_tools9tt_detail14print_helper_tIlEC2ERKl(%"struct.boost::test_tools::tt_detail::print_helper_t.36"* %this, i32* %t) unnamed_addr nounwind align 2 {
entry:
  %this.addr = alloca %"struct.boost::test_tools::tt_detail::print_helper_t.36"*, align 4
  %t.addr = alloca i32*, align 4
  store %"struct.boost::test_tools::tt_detail::print_helper_t.36"* %this, %"struct.boost::test_tools::tt_detail::print_helper_t.36"** %this.addr, align 4
  store i32* %t, i32** %t.addr, align 4
  %this1 = load %"struct.boost::test_tools::tt_detail::print_helper_t.36"** %this.addr
  %0 = getelementptr inbounds %"struct.boost::test_tools::tt_detail::print_helper_t.36"* %this1, i32 0, i32 0
  %1 = load i32** %t.addr, align 4
  store i32* %1, i32** %0, align 4
  ret void
}

define linkonce_odr void @_ZN5boost9unit_test17lazy_ostream_implIRKNS_10test_tools9tt_detail14print_helper_tIlEEEC1ERKNS0_12lazy_ostreamES7_(%"class.boost::unit_test::lazy_ostream_impl.35"* %this, %"class.boost::unit_test::lazy_ostream"* %prev, %"struct.boost::test_tools::tt_detail::print_helper_t.36"* %value) unnamed_addr align 2 {
entry:
  %this.addr = alloca %"class.boost::unit_test::lazy_ostream_impl.35"*, align 4
  %prev.addr = alloca %"class.boost::unit_test::lazy_ostream"*, align 4
  %value.addr = alloca %"struct.boost::test_tools::tt_detail::print_helper_t.36"*, align 4
  store %"class.boost::unit_test::lazy_ostream_impl.35"* %this, %"class.boost::unit_test::lazy_ostream_impl.35"** %this.addr, align 4
  store %"class.boost::unit_test::lazy_ostream"* %prev, %"class.boost::unit_test::lazy_ostream"** %prev.addr, align 4
  store %"struct.boost::test_tools::tt_detail::print_helper_t.36"* %value, %"struct.boost::test_tools::tt_detail::print_helper_t.36"** %value.addr, align 4
  %this1 = load %"class.boost::unit_test::lazy_ostream_impl.35"** %this.addr
  %0 = load %"class.boost::unit_test::lazy_ostream"** %prev.addr
  %1 = load %"struct.boost::test_tools::tt_detail::print_helper_t.36"** %value.addr
  call void @_ZN5boost9unit_test17lazy_ostream_implIRKNS_10test_tools9tt_detail14print_helper_tIlEEEC2ERKNS0_12lazy_ostreamES7_(%"class.boost::unit_test::lazy_ostream_impl.35"* %this1, %"class.boost::unit_test::lazy_ostream"* %0, %"struct.boost::test_tools::tt_detail::print_helper_t.36"* %1)
  ret void
}

define linkonce_odr void @_ZN5boost9unit_test17lazy_ostream_implIRKNS_10test_tools9tt_detail14print_helper_tIlEEEC2ERKNS0_12lazy_ostreamES7_(%"class.boost::unit_test::lazy_ostream_impl.35"* %this, %"class.boost::unit_test::lazy_ostream"* %prev, %"struct.boost::test_tools::tt_detail::print_helper_t.36"* %value) unnamed_addr nounwind align 2 {
entry:
  %this.addr = alloca %"class.boost::unit_test::lazy_ostream_impl.35"*, align 4
  %prev.addr = alloca %"class.boost::unit_test::lazy_ostream"*, align 4
  %value.addr = alloca %"struct.boost::test_tools::tt_detail::print_helper_t.36"*, align 4
  store %"class.boost::unit_test::lazy_ostream_impl.35"* %this, %"class.boost::unit_test::lazy_ostream_impl.35"** %this.addr, align 4
  store %"class.boost::unit_test::lazy_ostream"* %prev, %"class.boost::unit_test::lazy_ostream"** %prev.addr, align 4
  store %"struct.boost::test_tools::tt_detail::print_helper_t.36"* %value, %"struct.boost::test_tools::tt_detail::print_helper_t.36"** %value.addr, align 4
  %this1 = load %"class.boost::unit_test::lazy_ostream_impl.35"** %this.addr
  %0 = bitcast %"class.boost::unit_test::lazy_ostream_impl.35"* %this1 to %"class.boost::unit_test::lazy_ostream"*
  call void @_ZN5boost9unit_test12lazy_ostreamC2Eb(%"class.boost::unit_test::lazy_ostream"* %0, i1 zeroext false)
  %1 = bitcast %"class.boost::unit_test::lazy_ostream_impl.35"* %this1 to i8***
  store i8** getelementptr inbounds ([5 x i8*]* @_ZTVN5boost9unit_test17lazy_ostream_implIRKNS_10test_tools9tt_detail14print_helper_tIlEEEE, i64 0, i64 2), i8*** %1
  %2 = getelementptr inbounds %"class.boost::unit_test::lazy_ostream_impl.35"* %this1, i32 0, i32 1
  %3 = load %"class.boost::unit_test::lazy_ostream"** %prev.addr, align 4
  store %"class.boost::unit_test::lazy_ostream"* %3, %"class.boost::unit_test::lazy_ostream"** %2, align 4
  %4 = getelementptr inbounds %"class.boost::unit_test::lazy_ostream_impl.35"* %this1, i32 0, i32 2
  %5 = load %"struct.boost::test_tools::tt_detail::print_helper_t.36"** %value.addr, align 4
  store %"struct.boost::test_tools::tt_detail::print_helper_t.36"* %5, %"struct.boost::test_tools::tt_detail::print_helper_t.36"** %4, align 4
  ret void
}

define linkonce_odr %"class.std::basic_ostream"* @_ZNK5boost9unit_test17lazy_ostream_implIRKNS_10test_tools9tt_detail14print_helper_tIlEEEclERSo(%"class.boost::unit_test::lazy_ostream_impl.35"* %this, %"class.std::basic_ostream"* %ostr) unnamed_addr align 2 {
entry:
  %this.addr = alloca %"class.boost::unit_test::lazy_ostream_impl.35"*, align 4
  %ostr.addr = alloca %"class.std::basic_ostream"*, align 4
  store %"class.boost::unit_test::lazy_ostream_impl.35"* %this, %"class.boost::unit_test::lazy_ostream_impl.35"** %this.addr, align 4
  store %"class.std::basic_ostream"* %ostr, %"class.std::basic_ostream"** %ostr.addr, align 4
  %this1 = load %"class.boost::unit_test::lazy_ostream_impl.35"** %this.addr
  %m_prev = getelementptr inbounds %"class.boost::unit_test::lazy_ostream_impl.35"* %this1, i32 0, i32 1
  %ref = load %"class.boost::unit_test::lazy_ostream"** %m_prev, align 4
  %0 = bitcast %"class.boost::unit_test::lazy_ostream"* %ref to %"class.std::basic_ostream"* (%"class.boost::unit_test::lazy_ostream"*, %"class.std::basic_ostream"*)***
  %vtable = load %"class.std::basic_ostream"* (%"class.boost::unit_test::lazy_ostream"*, %"class.std::basic_ostream"*)*** %0
  %vfn = getelementptr inbounds %"class.std::basic_ostream"* (%"class.boost::unit_test::lazy_ostream"*, %"class.std::basic_ostream"*)** %vtable, i64 0
  %1 = load %"class.std::basic_ostream"* (%"class.boost::unit_test::lazy_ostream"*, %"class.std::basic_ostream"*)** %vfn
  %2 = load %"class.std::basic_ostream"** %ostr.addr, align 4
  %call = call %"class.std::basic_ostream"* %1(%"class.boost::unit_test::lazy_ostream"* %ref, %"class.std::basic_ostream"* %2)
  %m_value = getelementptr inbounds %"class.boost::unit_test::lazy_ostream_impl.35"* %this1, i32 0, i32 2
  %ref2 = load %"struct.boost::test_tools::tt_detail::print_helper_t.36"** %m_value, align 4
  %call3 = call %"class.std::basic_ostream"* @_ZN5boost10test_tools9tt_detaillsIlEERSoS3_RKNS1_14print_helper_tIT_EE(%"class.std::basic_ostream"* %call, %"struct.boost::test_tools::tt_detail::print_helper_t.36"* %ref2)
  ret %"class.std::basic_ostream"* %call3
}

define linkonce_odr void @_ZN5boost9unit_test17lazy_ostream_implIRKNS_10test_tools9tt_detail14print_helper_tIlEEED0Ev(%"class.boost::unit_test::lazy_ostream_impl.35"* %this) unnamed_addr inlinehint align 2 {
entry:
  %this.addr = alloca %"class.boost::unit_test::lazy_ostream_impl.35"*, align 4
  %exn.slot = alloca i8*
  %ehselector.slot = alloca i32
  store %"class.boost::unit_test::lazy_ostream_impl.35"* %this, %"class.boost::unit_test::lazy_ostream_impl.35"** %this.addr, align 4
  %this1 = load %"class.boost::unit_test::lazy_ostream_impl.35"** %this.addr
  invoke void @_ZN5boost9unit_test17lazy_ostream_implIRKNS_10test_tools9tt_detail14print_helper_tIlEEED1Ev(%"class.boost::unit_test::lazy_ostream_impl.35"* %this1)
          to label %invoke.cont unwind label %lpad

invoke.cont:                                      ; preds = %entry
  %0 = bitcast %"class.boost::unit_test::lazy_ostream_impl.35"* %this1 to i8*
  call void @_ZdlPv(i8* %0) nounwind
  ret void

lpad:                                             ; preds = %entry
  %1 = landingpad { i8*, i32 } personality i8* bitcast (i32 (...)* @__gxx_personality_v0 to i8*)
          cleanup
  %2 = extractvalue { i8*, i32 } %1, 0
  store i8* %2, i8** %exn.slot
  %3 = extractvalue { i8*, i32 } %1, 1
  store i32 %3, i32* %ehselector.slot
  %4 = bitcast %"class.boost::unit_test::lazy_ostream_impl.35"* %this1 to i8*
  call void @_ZdlPv(i8* %4) nounwind
  br label %eh.resume

eh.resume:                                        ; preds = %lpad
  %exn = load i8** %exn.slot
  %sel = load i32* %ehselector.slot
  %lpad.val = insertvalue { i8*, i32 } undef, i8* %exn, 0
  %lpad.val2 = insertvalue { i8*, i32 } %lpad.val, i32 %sel, 1
  resume { i8*, i32 } %lpad.val2
}

define linkonce_odr %"class.std::basic_ostream"* @_ZN5boost10test_tools9tt_detaillsIlEERSoS3_RKNS1_14print_helper_tIT_EE(%"class.std::basic_ostream"* %ostr, %"struct.boost::test_tools::tt_detail::print_helper_t.36"* %ph) inlinehint {
entry:
  %ostr.addr = alloca %"class.std::basic_ostream"*, align 4
  %ph.addr = alloca %"struct.boost::test_tools::tt_detail::print_helper_t.36"*, align 4
  %tmp = alloca %"struct.boost::test_tools::print_log_value.37", align 1
  store %"class.std::basic_ostream"* %ostr, %"class.std::basic_ostream"** %ostr.addr, align 4
  store %"struct.boost::test_tools::tt_detail::print_helper_t.36"* %ph, %"struct.boost::test_tools::tt_detail::print_helper_t.36"** %ph.addr, align 4
  %0 = load %"class.std::basic_ostream"** %ostr.addr, align 4
  %1 = load %"struct.boost::test_tools::tt_detail::print_helper_t.36"** %ph.addr, align 4
  %m_t = getelementptr inbounds %"struct.boost::test_tools::tt_detail::print_helper_t.36"* %1, i32 0, i32 0
  %ref = load i32** %m_t, align 4
  call void @_ZN5boost10test_tools15print_log_valueIlEclERSoRKl(%"struct.boost::test_tools::print_log_value.37"* %tmp, %"class.std::basic_ostream"* %0, i32* %ref)
  %2 = load %"class.std::basic_ostream"** %ostr.addr, align 4
  ret %"class.std::basic_ostream"* %2
}

define linkonce_odr void @_ZN5boost10test_tools15print_log_valueIlEclERSoRKl(%"struct.boost::test_tools::print_log_value.37"* %this, %"class.std::basic_ostream"* %ostr, i32* %t) align 2 {
entry:
  %this.addr = alloca %"struct.boost::test_tools::print_log_value.37"*, align 4
  %ostr.addr = alloca %"class.std::basic_ostream"*, align 4
  %t.addr = alloca i32*, align 4
  %agg.tmp = alloca %"struct.mpl_::bool_", align 1
  store %"struct.boost::test_tools::print_log_value.37"* %this, %"struct.boost::test_tools::print_log_value.37"** %this.addr, align 4
  store %"class.std::basic_ostream"* %ostr, %"class.std::basic_ostream"** %ostr.addr, align 4
  store i32* %t, i32** %t.addr, align 4
  %this1 = load %"struct.boost::test_tools::print_log_value.37"** %this.addr
  %0 = load i8* @_ZN5boost10test_tools12_GLOBAL__N_110dummy_condE, align 1
  %tobool = trunc i8 %0 to i1
  br i1 %tobool, label %if.then, label %if.end

if.then:                                          ; preds = %entry
  br label %if.end

if.end:                                           ; preds = %if.then, %entry
  %1 = load %"class.std::basic_ostream"** %ostr.addr, align 4
  call void @_ZN5boost10test_tools15print_log_valueIlE13set_precisionERSoN4mpl_5bool_ILb0EEE(%"struct.boost::test_tools::print_log_value.37"* %this1, %"class.std::basic_ostream"* %1)
  %2 = load %"class.std::basic_ostream"** %ostr.addr, align 4
  %3 = load i32** %t.addr, align 4
  %4 = load i32* %3, align 4
  %call = call %"class.std::basic_ostream"* @_ZNSolsEl(%"class.std::basic_ostream"* %2, i32 %4)
  ret void
}

define linkonce_odr void @_ZN5boost10test_tools15print_log_valueIlE13set_precisionERSoN4mpl_5bool_ILb0EEE(%"struct.boost::test_tools::print_log_value.37"* %this, %"class.std::basic_ostream"* %ostr) nounwind align 2 {
entry:
  %this.addr = alloca %"struct.boost::test_tools::print_log_value.37"*, align 4
  %ostr.addr = alloca %"class.std::basic_ostream"*, align 4
  %0 = alloca %"struct.mpl_::bool_", align 1
  store %"struct.boost::test_tools::print_log_value.37"* %this, %"struct.boost::test_tools::print_log_value.37"** %this.addr, align 4
  store %"class.std::basic_ostream"* %ostr, %"class.std::basic_ostream"** %ostr.addr, align 4
  %this1 = load %"struct.boost::test_tools::print_log_value.37"** %this.addr
  %1 = load %"class.std::basic_ostream"** %ostr.addr, align 4
  %2 = bitcast %"class.std::basic_ostream"* %1 to i8**
  %vtable = load i8** %2
  %vbase.offset.ptr = getelementptr i8* %vtable, i64 -12
  %3 = bitcast i8* %vbase.offset.ptr to i32*
  %vbase.offset = load i32* %3
  %4 = bitcast %"class.std::basic_ostream"* %1 to i8*
  %add.ptr = getelementptr inbounds i8* %4, i32 %vbase.offset
  %5 = bitcast i8* %add.ptr to %"class.std::ios_base"*
  %call = call i32 @_ZNSt8ios_base9precisionEi(%"class.std::ios_base"* %5, i32 11)
  ret void
}

declare %"class.std::basic_ostream"* @_ZNSolsEl(%"class.std::basic_ostream"*, i32)

define linkonce_odr void @_ZN5boost10test_tools9tt_detail14print_helper_tIiEC1ERKi(%"struct.boost::test_tools::tt_detail::print_helper_t.34"* %this, i32* %t) unnamed_addr align 2 {
entry:
  %this.addr = alloca %"struct.boost::test_tools::tt_detail::print_helper_t.34"*, align 4
  %t.addr = alloca i32*, align 4
  store %"struct.boost::test_tools::tt_detail::print_helper_t.34"* %this, %"struct.boost::test_tools::tt_detail::print_helper_t.34"** %this.addr, align 4
  store i32* %t, i32** %t.addr, align 4
  %this1 = load %"struct.boost::test_tools::tt_detail::print_helper_t.34"** %this.addr
  %0 = load i32** %t.addr
  call void @_ZN5boost10test_tools9tt_detail14print_helper_tIiEC2ERKi(%"struct.boost::test_tools::tt_detail::print_helper_t.34"* %this1, i32* %0)
  ret void
}

define linkonce_odr void @_ZN5boost10test_tools9tt_detail14print_helper_tIiEC2ERKi(%"struct.boost::test_tools::tt_detail::print_helper_t.34"* %this, i32* %t) unnamed_addr nounwind align 2 {
entry:
  %this.addr = alloca %"struct.boost::test_tools::tt_detail::print_helper_t.34"*, align 4
  %t.addr = alloca i32*, align 4
  store %"struct.boost::test_tools::tt_detail::print_helper_t.34"* %this, %"struct.boost::test_tools::tt_detail::print_helper_t.34"** %this.addr, align 4
  store i32* %t, i32** %t.addr, align 4
  %this1 = load %"struct.boost::test_tools::tt_detail::print_helper_t.34"** %this.addr
  %0 = getelementptr inbounds %"struct.boost::test_tools::tt_detail::print_helper_t.34"* %this1, i32 0, i32 0
  %1 = load i32** %t.addr, align 4
  store i32* %1, i32** %0, align 4
  ret void
}

define linkonce_odr void @_ZN5boost9unit_test17lazy_ostream_implIRKNS_10test_tools9tt_detail14print_helper_tIiEEEC1ERKNS0_12lazy_ostreamES7_(%"class.boost::unit_test::lazy_ostream_impl.33"* %this, %"class.boost::unit_test::lazy_ostream"* %prev, %"struct.boost::test_tools::tt_detail::print_helper_t.34"* %value) unnamed_addr align 2 {
entry:
  %this.addr = alloca %"class.boost::unit_test::lazy_ostream_impl.33"*, align 4
  %prev.addr = alloca %"class.boost::unit_test::lazy_ostream"*, align 4
  %value.addr = alloca %"struct.boost::test_tools::tt_detail::print_helper_t.34"*, align 4
  store %"class.boost::unit_test::lazy_ostream_impl.33"* %this, %"class.boost::unit_test::lazy_ostream_impl.33"** %this.addr, align 4
  store %"class.boost::unit_test::lazy_ostream"* %prev, %"class.boost::unit_test::lazy_ostream"** %prev.addr, align 4
  store %"struct.boost::test_tools::tt_detail::print_helper_t.34"* %value, %"struct.boost::test_tools::tt_detail::print_helper_t.34"** %value.addr, align 4
  %this1 = load %"class.boost::unit_test::lazy_ostream_impl.33"** %this.addr
  %0 = load %"class.boost::unit_test::lazy_ostream"** %prev.addr
  %1 = load %"struct.boost::test_tools::tt_detail::print_helper_t.34"** %value.addr
  call void @_ZN5boost9unit_test17lazy_ostream_implIRKNS_10test_tools9tt_detail14print_helper_tIiEEEC2ERKNS0_12lazy_ostreamES7_(%"class.boost::unit_test::lazy_ostream_impl.33"* %this1, %"class.boost::unit_test::lazy_ostream"* %0, %"struct.boost::test_tools::tt_detail::print_helper_t.34"* %1)
  ret void
}

define linkonce_odr void @_ZN5boost9unit_test17lazy_ostream_implIRKNS_10test_tools9tt_detail14print_helper_tIiEEEC2ERKNS0_12lazy_ostreamES7_(%"class.boost::unit_test::lazy_ostream_impl.33"* %this, %"class.boost::unit_test::lazy_ostream"* %prev, %"struct.boost::test_tools::tt_detail::print_helper_t.34"* %value) unnamed_addr nounwind align 2 {
entry:
  %this.addr = alloca %"class.boost::unit_test::lazy_ostream_impl.33"*, align 4
  %prev.addr = alloca %"class.boost::unit_test::lazy_ostream"*, align 4
  %value.addr = alloca %"struct.boost::test_tools::tt_detail::print_helper_t.34"*, align 4
  store %"class.boost::unit_test::lazy_ostream_impl.33"* %this, %"class.boost::unit_test::lazy_ostream_impl.33"** %this.addr, align 4
  store %"class.boost::unit_test::lazy_ostream"* %prev, %"class.boost::unit_test::lazy_ostream"** %prev.addr, align 4
  store %"struct.boost::test_tools::tt_detail::print_helper_t.34"* %value, %"struct.boost::test_tools::tt_detail::print_helper_t.34"** %value.addr, align 4
  %this1 = load %"class.boost::unit_test::lazy_ostream_impl.33"** %this.addr
  %0 = bitcast %"class.boost::unit_test::lazy_ostream_impl.33"* %this1 to %"class.boost::unit_test::lazy_ostream"*
  call void @_ZN5boost9unit_test12lazy_ostreamC2Eb(%"class.boost::unit_test::lazy_ostream"* %0, i1 zeroext false)
  %1 = bitcast %"class.boost::unit_test::lazy_ostream_impl.33"* %this1 to i8***
  store i8** getelementptr inbounds ([5 x i8*]* @_ZTVN5boost9unit_test17lazy_ostream_implIRKNS_10test_tools9tt_detail14print_helper_tIiEEEE, i64 0, i64 2), i8*** %1
  %2 = getelementptr inbounds %"class.boost::unit_test::lazy_ostream_impl.33"* %this1, i32 0, i32 1
  %3 = load %"class.boost::unit_test::lazy_ostream"** %prev.addr, align 4
  store %"class.boost::unit_test::lazy_ostream"* %3, %"class.boost::unit_test::lazy_ostream"** %2, align 4
  %4 = getelementptr inbounds %"class.boost::unit_test::lazy_ostream_impl.33"* %this1, i32 0, i32 2
  %5 = load %"struct.boost::test_tools::tt_detail::print_helper_t.34"** %value.addr, align 4
  store %"struct.boost::test_tools::tt_detail::print_helper_t.34"* %5, %"struct.boost::test_tools::tt_detail::print_helper_t.34"** %4, align 4
  ret void
}

define linkonce_odr %"class.std::basic_ostream"* @_ZNK5boost9unit_test17lazy_ostream_implIRKNS_10test_tools9tt_detail14print_helper_tIiEEEclERSo(%"class.boost::unit_test::lazy_ostream_impl.33"* %this, %"class.std::basic_ostream"* %ostr) unnamed_addr align 2 {
entry:
  %this.addr = alloca %"class.boost::unit_test::lazy_ostream_impl.33"*, align 4
  %ostr.addr = alloca %"class.std::basic_ostream"*, align 4
  store %"class.boost::unit_test::lazy_ostream_impl.33"* %this, %"class.boost::unit_test::lazy_ostream_impl.33"** %this.addr, align 4
  store %"class.std::basic_ostream"* %ostr, %"class.std::basic_ostream"** %ostr.addr, align 4
  %this1 = load %"class.boost::unit_test::lazy_ostream_impl.33"** %this.addr
  %m_prev = getelementptr inbounds %"class.boost::unit_test::lazy_ostream_impl.33"* %this1, i32 0, i32 1
  %ref = load %"class.boost::unit_test::lazy_ostream"** %m_prev, align 4
  %0 = bitcast %"class.boost::unit_test::lazy_ostream"* %ref to %"class.std::basic_ostream"* (%"class.boost::unit_test::lazy_ostream"*, %"class.std::basic_ostream"*)***
  %vtable = load %"class.std::basic_ostream"* (%"class.boost::unit_test::lazy_ostream"*, %"class.std::basic_ostream"*)*** %0
  %vfn = getelementptr inbounds %"class.std::basic_ostream"* (%"class.boost::unit_test::lazy_ostream"*, %"class.std::basic_ostream"*)** %vtable, i64 0
  %1 = load %"class.std::basic_ostream"* (%"class.boost::unit_test::lazy_ostream"*, %"class.std::basic_ostream"*)** %vfn
  %2 = load %"class.std::basic_ostream"** %ostr.addr, align 4
  %call = call %"class.std::basic_ostream"* %1(%"class.boost::unit_test::lazy_ostream"* %ref, %"class.std::basic_ostream"* %2)
  %m_value = getelementptr inbounds %"class.boost::unit_test::lazy_ostream_impl.33"* %this1, i32 0, i32 2
  %ref2 = load %"struct.boost::test_tools::tt_detail::print_helper_t.34"** %m_value, align 4
  %call3 = call %"class.std::basic_ostream"* @_ZN5boost10test_tools9tt_detaillsIiEERSoS3_RKNS1_14print_helper_tIT_EE(%"class.std::basic_ostream"* %call, %"struct.boost::test_tools::tt_detail::print_helper_t.34"* %ref2)
  ret %"class.std::basic_ostream"* %call3
}

define linkonce_odr void @_ZN5boost9unit_test17lazy_ostream_implIRKNS_10test_tools9tt_detail14print_helper_tIiEEED0Ev(%"class.boost::unit_test::lazy_ostream_impl.33"* %this) unnamed_addr inlinehint align 2 {
entry:
  %this.addr = alloca %"class.boost::unit_test::lazy_ostream_impl.33"*, align 4
  %exn.slot = alloca i8*
  %ehselector.slot = alloca i32
  store %"class.boost::unit_test::lazy_ostream_impl.33"* %this, %"class.boost::unit_test::lazy_ostream_impl.33"** %this.addr, align 4
  %this1 = load %"class.boost::unit_test::lazy_ostream_impl.33"** %this.addr
  invoke void @_ZN5boost9unit_test17lazy_ostream_implIRKNS_10test_tools9tt_detail14print_helper_tIiEEED1Ev(%"class.boost::unit_test::lazy_ostream_impl.33"* %this1)
          to label %invoke.cont unwind label %lpad

invoke.cont:                                      ; preds = %entry
  %0 = bitcast %"class.boost::unit_test::lazy_ostream_impl.33"* %this1 to i8*
  call void @_ZdlPv(i8* %0) nounwind
  ret void

lpad:                                             ; preds = %entry
  %1 = landingpad { i8*, i32 } personality i8* bitcast (i32 (...)* @__gxx_personality_v0 to i8*)
          cleanup
  %2 = extractvalue { i8*, i32 } %1, 0
  store i8* %2, i8** %exn.slot
  %3 = extractvalue { i8*, i32 } %1, 1
  store i32 %3, i32* %ehselector.slot
  %4 = bitcast %"class.boost::unit_test::lazy_ostream_impl.33"* %this1 to i8*
  call void @_ZdlPv(i8* %4) nounwind
  br label %eh.resume

eh.resume:                                        ; preds = %lpad
  %exn = load i8** %exn.slot
  %sel = load i32* %ehselector.slot
  %lpad.val = insertvalue { i8*, i32 } undef, i8* %exn, 0
  %lpad.val2 = insertvalue { i8*, i32 } %lpad.val, i32 %sel, 1
  resume { i8*, i32 } %lpad.val2
}

define linkonce_odr %"class.std::basic_ostream"* @_ZN5boost10test_tools9tt_detaillsIiEERSoS3_RKNS1_14print_helper_tIT_EE(%"class.std::basic_ostream"* %ostr, %"struct.boost::test_tools::tt_detail::print_helper_t.34"* %ph) inlinehint {
entry:
  %ostr.addr = alloca %"class.std::basic_ostream"*, align 4
  %ph.addr = alloca %"struct.boost::test_tools::tt_detail::print_helper_t.34"*, align 4
  %tmp = alloca %"struct.boost::test_tools::print_log_value.38", align 1
  store %"class.std::basic_ostream"* %ostr, %"class.std::basic_ostream"** %ostr.addr, align 4
  store %"struct.boost::test_tools::tt_detail::print_helper_t.34"* %ph, %"struct.boost::test_tools::tt_detail::print_helper_t.34"** %ph.addr, align 4
  %0 = load %"class.std::basic_ostream"** %ostr.addr, align 4
  %1 = load %"struct.boost::test_tools::tt_detail::print_helper_t.34"** %ph.addr, align 4
  %m_t = getelementptr inbounds %"struct.boost::test_tools::tt_detail::print_helper_t.34"* %1, i32 0, i32 0
  %ref = load i32** %m_t, align 4
  call void @_ZN5boost10test_tools15print_log_valueIiEclERSoRKi(%"struct.boost::test_tools::print_log_value.38"* %tmp, %"class.std::basic_ostream"* %0, i32* %ref)
  %2 = load %"class.std::basic_ostream"** %ostr.addr, align 4
  ret %"class.std::basic_ostream"* %2
}

define linkonce_odr void @_ZN5boost10test_tools15print_log_valueIiEclERSoRKi(%"struct.boost::test_tools::print_log_value.38"* %this, %"class.std::basic_ostream"* %ostr, i32* %t) align 2 {
entry:
  %this.addr = alloca %"struct.boost::test_tools::print_log_value.38"*, align 4
  %ostr.addr = alloca %"class.std::basic_ostream"*, align 4
  %t.addr = alloca i32*, align 4
  %agg.tmp = alloca %"struct.mpl_::bool_", align 1
  store %"struct.boost::test_tools::print_log_value.38"* %this, %"struct.boost::test_tools::print_log_value.38"** %this.addr, align 4
  store %"class.std::basic_ostream"* %ostr, %"class.std::basic_ostream"** %ostr.addr, align 4
  store i32* %t, i32** %t.addr, align 4
  %this1 = load %"struct.boost::test_tools::print_log_value.38"** %this.addr
  %0 = load i8* @_ZN5boost10test_tools12_GLOBAL__N_110dummy_condE, align 1
  %tobool = trunc i8 %0 to i1
  br i1 %tobool, label %if.then, label %if.end

if.then:                                          ; preds = %entry
  br label %if.end

if.end:                                           ; preds = %if.then, %entry
  %1 = load %"class.std::basic_ostream"** %ostr.addr, align 4
  call void @_ZN5boost10test_tools15print_log_valueIiE13set_precisionERSoN4mpl_5bool_ILb0EEE(%"struct.boost::test_tools::print_log_value.38"* %this1, %"class.std::basic_ostream"* %1)
  %2 = load %"class.std::basic_ostream"** %ostr.addr, align 4
  %3 = load i32** %t.addr, align 4
  %4 = load i32* %3, align 4
  %call = call %"class.std::basic_ostream"* @_ZNSolsEi(%"class.std::basic_ostream"* %2, i32 %4)
  ret void
}

define linkonce_odr void @_ZN5boost10test_tools15print_log_valueIiE13set_precisionERSoN4mpl_5bool_ILb0EEE(%"struct.boost::test_tools::print_log_value.38"* %this, %"class.std::basic_ostream"* %ostr) nounwind align 2 {
entry:
  %this.addr = alloca %"struct.boost::test_tools::print_log_value.38"*, align 4
  %ostr.addr = alloca %"class.std::basic_ostream"*, align 4
  %0 = alloca %"struct.mpl_::bool_", align 1
  store %"struct.boost::test_tools::print_log_value.38"* %this, %"struct.boost::test_tools::print_log_value.38"** %this.addr, align 4
  store %"class.std::basic_ostream"* %ostr, %"class.std::basic_ostream"** %ostr.addr, align 4
  %this1 = load %"struct.boost::test_tools::print_log_value.38"** %this.addr
  %1 = load %"class.std::basic_ostream"** %ostr.addr, align 4
  %2 = bitcast %"class.std::basic_ostream"* %1 to i8**
  %vtable = load i8** %2
  %vbase.offset.ptr = getelementptr i8* %vtable, i64 -12
  %3 = bitcast i8* %vbase.offset.ptr to i32*
  %vbase.offset = load i32* %3
  %4 = bitcast %"class.std::basic_ostream"* %1 to i8*
  %add.ptr = getelementptr inbounds i8* %4, i32 %vbase.offset
  %5 = bitcast i8* %add.ptr to %"class.std::ios_base"*
  %call = call i32 @_ZNSt8ios_base9precisionEi(%"class.std::ios_base"* %5, i32 11)
  ret void
}

declare %"class.std::basic_ostream"* @_ZNSolsEi(%"class.std::basic_ostream"*, i32)

define linkonce_odr void @_ZNK5boost10test_tools9tt_detail15equal_impl_frwd9call_implIilEENS0_16predicate_resultERKT_RKT0_N4mpl_5bool_ILb0EEE(%"class.boost::test_tools::predicate_result"* noalias sret %agg.result, %"struct.boost::test_tools::tt_detail::equal_impl_frwd"* %this, i32* %left, i32* %right) inlinehint align 2 {
entry:
  %this.addr = alloca %"struct.boost::test_tools::tt_detail::equal_impl_frwd"*, align 4
  %left.addr = alloca i32*, align 4
  %right.addr = alloca i32*, align 4
  %0 = alloca %"struct.mpl_::bool_", align 1
  store %"struct.boost::test_tools::tt_detail::equal_impl_frwd"* %this, %"struct.boost::test_tools::tt_detail::equal_impl_frwd"** %this.addr, align 4
  store i32* %left, i32** %left.addr, align 4
  store i32* %right, i32** %right.addr, align 4
  %this1 = load %"struct.boost::test_tools::tt_detail::equal_impl_frwd"** %this.addr
  %1 = load i32** %left.addr, align 4
  %2 = load i32** %right.addr, align 4
  call void @_ZN5boost10test_tools9tt_detail10equal_implIilEENS0_16predicate_resultERKT_RKT0_(%"class.boost::test_tools::predicate_result"* sret %agg.result, i32* %1, i32* %2)
  ret void
}

define linkonce_odr void @_ZN5boost10test_tools9tt_detail10equal_implIilEENS0_16predicate_resultERKT_RKT0_(%"class.boost::test_tools::predicate_result"* noalias sret %agg.result, i32* %left, i32* %right) {
entry:
  %left.addr = alloca i32*, align 4
  %right.addr = alloca i32*, align 4
  store i32* %left, i32** %left.addr, align 4
  store i32* %right, i32** %right.addr, align 4
  %0 = load i32** %left.addr, align 4
  %1 = load i32* %0, align 4
  %2 = load i32** %right.addr, align 4
  %3 = load i32* %2, align 4
  %cmp = icmp eq i32 %1, %3
  call void @_ZN5boost10test_tools16predicate_resultC1Eb(%"class.boost::test_tools::predicate_result"* %agg.result, i1 zeroext %cmp)
  ret void
}

define linkonce_odr void @_ZNSt6localeC2I19backward_bool_namesEERKS_PT_(%"class.std::locale"* %this, %"class.std::locale"* %__other, %class.backward_bool_names* %__f) unnamed_addr align 2 {
entry:
  %this.addr = alloca %"class.std::locale"*, align 4
  %__other.addr = alloca %"class.std::locale"*, align 4
  %__f.addr = alloca %class.backward_bool_names*, align 4
  %exn.slot = alloca i8*
  %ehselector.slot = alloca i32
  store %"class.std::locale"* %this, %"class.std::locale"** %this.addr, align 4
  store %"class.std::locale"* %__other, %"class.std::locale"** %__other.addr, align 4
  store %class.backward_bool_names* %__f, %class.backward_bool_names** %__f.addr, align 4
  %this1 = load %"class.std::locale"** %this.addr
  %call = call noalias i8* @_Znwj(i32 20)
  %0 = bitcast i8* %call to %"class.std::locale::_Impl"*
  %1 = load %"class.std::locale"** %__other.addr, align 4
  %_M_impl = getelementptr inbounds %"class.std::locale"* %1, i32 0, i32 0
  %2 = load %"class.std::locale::_Impl"** %_M_impl, align 4
  invoke void @_ZNSt6locale5_ImplC1ERKS0_j(%"class.std::locale::_Impl"* %0, %"class.std::locale::_Impl"* %2, i32 1)
          to label %invoke.cont unwind label %lpad

invoke.cont:                                      ; preds = %entry
  %_M_impl2 = getelementptr inbounds %"class.std::locale"* %this1, i32 0, i32 0
  store %"class.std::locale::_Impl"* %0, %"class.std::locale::_Impl"** %_M_impl2, align 4
  %_M_impl3 = getelementptr inbounds %"class.std::locale"* %this1, i32 0, i32 0
  %3 = load %"class.std::locale::_Impl"** %_M_impl3, align 4
  %4 = load %class.backward_bool_names** %__f.addr, align 4
  %5 = bitcast %class.backward_bool_names* %4 to %"class.std::locale::facet"*
  invoke void @_ZNSt6locale5_Impl16_M_install_facetEPKNS_2idEPKNS_5facetE(%"class.std::locale::_Impl"* %3, %"class.std::locale::id"* @_ZNSt8numpunctIcE2idE, %"class.std::locale::facet"* %5)
          to label %invoke.cont5 unwind label %lpad4

invoke.cont5:                                     ; preds = %invoke.cont
  br label %try.cont

lpad:                                             ; preds = %entry
  %6 = landingpad { i8*, i32 } personality i8* bitcast (i32 (...)* @__gxx_personality_v0 to i8*)
          cleanup
  %7 = extractvalue { i8*, i32 } %6, 0
  store i8* %7, i8** %exn.slot
  %8 = extractvalue { i8*, i32 } %6, 1
  store i32 %8, i32* %ehselector.slot
  call void @_ZdlPv(i8* %call) nounwind
  br label %eh.resume

lpad4:                                            ; preds = %invoke.cont
  %9 = landingpad { i8*, i32 } personality i8* bitcast (i32 (...)* @__gxx_personality_v0 to i8*)
          catch i8* null
  %10 = extractvalue { i8*, i32 } %9, 0
  store i8* %10, i8** %exn.slot
  %11 = extractvalue { i8*, i32 } %9, 1
  store i32 %11, i32* %ehselector.slot
  br label %catch

catch:                                            ; preds = %lpad4
  %exn = load i8** %exn.slot
  %12 = call i8* @__cxa_begin_catch(i8* %exn) nounwind
  %_M_impl6 = getelementptr inbounds %"class.std::locale"* %this1, i32 0, i32 0
  %13 = load %"class.std::locale::_Impl"** %_M_impl6, align 4
  call void @_ZNSt6locale5_Impl19_M_remove_referenceEv(%"class.std::locale::_Impl"* %13) nounwind
  invoke void @__cxa_rethrow() noreturn
          to label %unreachable unwind label %lpad7

lpad7:                                            ; preds = %catch
  %14 = landingpad { i8*, i32 } personality i8* bitcast (i32 (...)* @__gxx_personality_v0 to i8*)
          cleanup
  %15 = extractvalue { i8*, i32 } %14, 0
  store i8* %15, i8** %exn.slot
  %16 = extractvalue { i8*, i32 } %14, 1
  store i32 %16, i32* %ehselector.slot
  invoke void @__cxa_end_catch()
          to label %invoke.cont8 unwind label %terminate.lpad

invoke.cont8:                                     ; preds = %lpad7
  br label %eh.resume

try.cont:                                         ; preds = %invoke.cont5
  %_M_impl9 = getelementptr inbounds %"class.std::locale"* %this1, i32 0, i32 0
  %17 = load %"class.std::locale::_Impl"** %_M_impl9, align 4
  %_M_names = getelementptr inbounds %"class.std::locale::_Impl"* %17, i32 0, i32 4
  %18 = load i8*** %_M_names, align 4
  %arrayidx = getelementptr inbounds i8** %18, i32 0
  %19 = load i8** %arrayidx, align 4
  %isnull = icmp eq i8* %19, null
  br i1 %isnull, label %delete.end, label %delete.notnull

delete.notnull:                                   ; preds = %try.cont
  call void @_ZdaPv(i8* %19) nounwind
  br label %delete.end

delete.end:                                       ; preds = %delete.notnull, %try.cont
  %_M_impl10 = getelementptr inbounds %"class.std::locale"* %this1, i32 0, i32 0
  %20 = load %"class.std::locale::_Impl"** %_M_impl10, align 4
  %_M_names11 = getelementptr inbounds %"class.std::locale::_Impl"* %20, i32 0, i32 4
  %21 = load i8*** %_M_names11, align 4
  %arrayidx12 = getelementptr inbounds i8** %21, i32 0
  store i8* null, i8** %arrayidx12, align 4
  ret void

eh.resume:                                        ; preds = %invoke.cont8, %lpad
  %exn13 = load i8** %exn.slot
  %sel = load i32* %ehselector.slot
  %lpad.val = insertvalue { i8*, i32 } undef, i8* %exn13, 0
  %lpad.val14 = insertvalue { i8*, i32 } %lpad.val, i32 %sel, 1
  resume { i8*, i32 } %lpad.val14

terminate.lpad:                                   ; preds = %lpad7
  %22 = landingpad { i8*, i32 } personality i8* bitcast (i32 (...)* @__gxx_personality_v0 to i8*)
          catch i8* null
  call void @_ZSt9terminatev() noreturn nounwind
  unreachable

unreachable:                                      ; preds = %catch
  unreachable
}

declare void @_ZNSt6locale5_ImplC1ERKS0_j(%"class.std::locale::_Impl"*, %"class.std::locale::_Impl"*, i32)

declare void @_ZNSt6locale5_Impl16_M_install_facetEPKNS_2idEPKNS_5facetE(%"class.std::locale::_Impl"*, %"class.std::locale::id"*, %"class.std::locale::facet"*)

define linkonce_odr void @_ZNSt6locale5_Impl19_M_remove_referenceEv(%"class.std::locale::_Impl"* %this) nounwind align 2 {
entry:
  %this.addr = alloca %"class.std::locale::_Impl"*, align 4
  %exn.slot = alloca i8*
  %ehselector.slot = alloca i32
  store %"class.std::locale::_Impl"* %this, %"class.std::locale::_Impl"** %this.addr, align 4
  %this1 = load %"class.std::locale::_Impl"** %this.addr
  %_M_refcount = getelementptr inbounds %"class.std::locale::_Impl"* %this1, i32 0, i32 0
  %call = invoke i32 @_ZN9__gnu_cxxL27__exchange_and_add_dispatchEPii(i32* %_M_refcount, i32 -1)
          to label %invoke.cont unwind label %lpad

invoke.cont:                                      ; preds = %entry
  %cmp = icmp eq i32 %call, 1
  br i1 %cmp, label %if.then, label %if.end

if.then:                                          ; preds = %invoke.cont
  %isnull = icmp eq %"class.std::locale::_Impl"* %this1, null
  br i1 %isnull, label %delete.end, label %delete.notnull

delete.notnull:                                   ; preds = %if.then
  call void @_ZNSt6locale5_ImplD1Ev(%"class.std::locale::_Impl"* %this1) nounwind
  %0 = bitcast %"class.std::locale::_Impl"* %this1 to i8*
  call void @_ZdlPv(i8* %0) nounwind
  br label %delete.end

delete.end:                                       ; preds = %delete.notnull, %if.then
  br label %if.end

lpad:                                             ; preds = %entry
  %1 = landingpad { i8*, i32 } personality i8* bitcast (i32 (...)* @__gxx_personality_v0 to i8*)
          filter [0 x i8*] zeroinitializer
  %2 = extractvalue { i8*, i32 } %1, 0
  store i8* %2, i8** %exn.slot
  %3 = extractvalue { i8*, i32 } %1, 1
  store i32 %3, i32* %ehselector.slot
  br label %filter.dispatch

filter.dispatch:                                  ; preds = %lpad
  %exn = load i8** %exn.slot
  call void @__cxa_call_unexpected(i8* %exn) noreturn
  unreachable

if.end:                                           ; preds = %delete.end, %invoke.cont
  ret void
}

declare void @_ZdaPv(i8*) nounwind

define internal i32 @_ZN9__gnu_cxxL27__exchange_and_add_dispatchEPii(i32* %__mem, i32 %__val) inlinehint {
entry:
  %retval = alloca i32, align 4
  %__mem.addr = alloca i32*, align 4
  %__val.addr = alloca i32, align 4
  store i32* %__mem, i32** %__mem.addr, align 4
  store i32 %__val, i32* %__val.addr, align 4
  %call = call i32 @_ZL18__gthread_active_pv()
  %tobool = icmp ne i32 %call, 0
  br i1 %tobool, label %if.then, label %if.else

if.then:                                          ; preds = %entry
  %0 = load i32** %__mem.addr, align 4
  %1 = load i32* %__val.addr, align 4
  %call1 = call i32 @_ZN9__gnu_cxxL18__exchange_and_addEPVii(i32* %0, i32 %1)
  store i32 %call1, i32* %retval
  br label %return

if.else:                                          ; preds = %entry
  %2 = load i32** %__mem.addr, align 4
  %3 = load i32* %__val.addr, align 4
  %call2 = call i32 @_ZN9__gnu_cxxL25__exchange_and_add_singleEPii(i32* %2, i32 %3)
  store i32 %call2, i32* %retval
  br label %return

return:                                           ; preds = %if.else, %if.then
  %4 = load i32* %retval
  ret i32 %4
}

declare void @_ZNSt6locale5_ImplD1Ev(%"class.std::locale::_Impl"*) nounwind

declare void @__cxa_call_unexpected(i8*)

define internal i32 @_ZL18__gthread_active_pv() nounwind inlinehint {
entry:
  %0 = load i8** @_ZZL18__gthread_active_pvE20__gthread_active_ptr, align 4
  %cmp = icmp ne i8* %0, null
  %conv = zext i1 %cmp to i32
  ret i32 %conv
}

define internal i32 @_ZN9__gnu_cxxL18__exchange_and_addEPVii(i32* %__mem, i32 %__val) nounwind inlinehint {
entry:
  %__mem.addr = alloca i32*, align 4
  %__val.addr = alloca i32, align 4
  store i32* %__mem, i32** %__mem.addr, align 4
  store i32 %__val, i32* %__val.addr, align 4
  %0 = load i32** %__mem.addr, align 4
  %1 = load i32* %__val.addr, align 4
  %2 = atomicrmw add i32* %0, i32 %1 seq_cst
  ret i32 %2
}

define internal i32 @_ZN9__gnu_cxxL25__exchange_and_add_singleEPii(i32* %__mem, i32 %__val) nounwind inlinehint {
entry:
  %__mem.addr = alloca i32*, align 4
  %__val.addr = alloca i32, align 4
  %__result = alloca i32, align 4
  store i32* %__mem, i32** %__mem.addr, align 4
  store i32 %__val, i32* %__val.addr, align 4
  %0 = load i32** %__mem.addr, align 4
  %1 = load i32* %0, align 4
  store i32 %1, i32* %__result, align 4
  %2 = load i32* %__val.addr, align 4
  %3 = load i32** %__mem.addr, align 4
  %4 = load i32* %3, align 4
  %add = add nsw i32 %4, %2
  store i32 %add, i32* %3, align 4
  %5 = load i32* %__result, align 4
  ret i32 %5
}

declare extern_weak i32 @pthread_cancel(i32)

define linkonce_odr void @_ZN5boost2io22basic_ios_locale_saverIcSt11char_traitsIcEEC2ERSt9basic_iosIcS3_ERKSt6locale(%"class.boost::io::basic_ios_locale_saver"* %this, %"class.std::basic_ios"* %s, %"class.std::locale"* %a) unnamed_addr align 2 {
entry:
  %this.addr = alloca %"class.boost::io::basic_ios_locale_saver"*, align 4
  %s.addr = alloca %"class.std::basic_ios"*, align 4
  %a.addr = alloca %"class.std::locale"*, align 4
  store %"class.boost::io::basic_ios_locale_saver"* %this, %"class.boost::io::basic_ios_locale_saver"** %this.addr, align 4
  store %"class.std::basic_ios"* %s, %"class.std::basic_ios"** %s.addr, align 4
  store %"class.std::locale"* %a, %"class.std::locale"** %a.addr, align 4
  %this1 = load %"class.boost::io::basic_ios_locale_saver"** %this.addr
  %0 = getelementptr inbounds %"class.boost::io::basic_ios_locale_saver"* %this1, i32 0, i32 0
  %1 = load %"class.std::basic_ios"** %s.addr, align 4
  store %"class.std::basic_ios"* %1, %"class.std::basic_ios"** %0, align 4
  %a_save_ = getelementptr inbounds %"class.boost::io::basic_ios_locale_saver"* %this1, i32 0, i32 1
  %2 = load %"class.std::basic_ios"** %s.addr, align 4
  %3 = load %"class.std::locale"** %a.addr, align 4
  call void @_ZNSt9basic_iosIcSt11char_traitsIcEE5imbueERKSt6locale(%"class.std::locale"* sret %a_save_, %"class.std::basic_ios"* %2, %"class.std::locale"* %3)
  ret void
}

define linkonce_odr void @_ZN5boost2io22basic_ios_locale_saverIcSt11char_traitsIcEED2Ev(%"class.boost::io::basic_ios_locale_saver"* %this) unnamed_addr align 2 {
entry:
  %this.addr = alloca %"class.boost::io::basic_ios_locale_saver"*, align 4
  %exn.slot = alloca i8*
  %ehselector.slot = alloca i32
  store %"class.boost::io::basic_ios_locale_saver"* %this, %"class.boost::io::basic_ios_locale_saver"** %this.addr, align 4
  %this1 = load %"class.boost::io::basic_ios_locale_saver"** %this.addr
  invoke void @_ZN5boost2io22basic_ios_locale_saverIcSt11char_traitsIcEE7restoreEv(%"class.boost::io::basic_ios_locale_saver"* %this1)
          to label %invoke.cont unwind label %lpad

invoke.cont:                                      ; preds = %entry
  %a_save_ = getelementptr inbounds %"class.boost::io::basic_ios_locale_saver"* %this1, i32 0, i32 1
  call void @_ZNSt6localeD1Ev(%"class.std::locale"* %a_save_) nounwind
  ret void

lpad:                                             ; preds = %entry
  %0 = landingpad { i8*, i32 } personality i8* bitcast (i32 (...)* @__gxx_personality_v0 to i8*)
          cleanup
  %1 = extractvalue { i8*, i32 } %0, 0
  store i8* %1, i8** %exn.slot
  %2 = extractvalue { i8*, i32 } %0, 1
  store i32 %2, i32* %ehselector.slot
  %a_save_2 = getelementptr inbounds %"class.boost::io::basic_ios_locale_saver"* %this1, i32 0, i32 1
  call void @_ZNSt6localeD1Ev(%"class.std::locale"* %a_save_2) nounwind
  br label %eh.resume

eh.resume:                                        ; preds = %lpad
  %exn = load i8** %exn.slot
  %sel = load i32* %ehselector.slot
  %lpad.val = insertvalue { i8*, i32 } undef, i8* %exn, 0
  %lpad.val3 = insertvalue { i8*, i32 } %lpad.val, i32 %sel, 1
  resume { i8*, i32 } %lpad.val3
}

define linkonce_odr void @_ZN5boost2io22basic_ios_locale_saverIcSt11char_traitsIcEE7restoreEv(%"class.boost::io::basic_ios_locale_saver"* %this) align 2 {
entry:
  %this.addr = alloca %"class.boost::io::basic_ios_locale_saver"*, align 4
  %agg.tmp.ensured = alloca %"class.std::locale", align 4
  store %"class.boost::io::basic_ios_locale_saver"* %this, %"class.boost::io::basic_ios_locale_saver"** %this.addr, align 4
  %this1 = load %"class.boost::io::basic_ios_locale_saver"** %this.addr
  %s_save_ = getelementptr inbounds %"class.boost::io::basic_ios_locale_saver"* %this1, i32 0, i32 0
  %ref = load %"class.std::basic_ios"** %s_save_, align 4
  %a_save_ = getelementptr inbounds %"class.boost::io::basic_ios_locale_saver"* %this1, i32 0, i32 1
  call void @_ZNSt9basic_iosIcSt11char_traitsIcEE5imbueERKSt6locale(%"class.std::locale"* sret %agg.tmp.ensured, %"class.std::basic_ios"* %ref, %"class.std::locale"* %a_save_)
  call void @_ZNSt6localeD1Ev(%"class.std::locale"* %agg.tmp.ensured) nounwind
  ret void
}

define linkonce_odr void @_ZN5boost2io22basic_ios_locale_saverIcSt11char_traitsIcEEC2ERSt9basic_iosIcS3_E(%"class.boost::io::basic_ios_locale_saver"* %this, %"class.std::basic_ios"* %s) unnamed_addr align 2 {
entry:
  %this.addr = alloca %"class.boost::io::basic_ios_locale_saver"*, align 4
  %s.addr = alloca %"class.std::basic_ios"*, align 4
  store %"class.boost::io::basic_ios_locale_saver"* %this, %"class.boost::io::basic_ios_locale_saver"** %this.addr, align 4
  store %"class.std::basic_ios"* %s, %"class.std::basic_ios"** %s.addr, align 4
  %this1 = load %"class.boost::io::basic_ios_locale_saver"** %this.addr
  %0 = getelementptr inbounds %"class.boost::io::basic_ios_locale_saver"* %this1, i32 0, i32 0
  %1 = load %"class.std::basic_ios"** %s.addr, align 4
  store %"class.std::basic_ios"* %1, %"class.std::basic_ios"** %0, align 4
  %a_save_ = getelementptr inbounds %"class.boost::io::basic_ios_locale_saver"* %this1, i32 0, i32 1
  %2 = load %"class.std::basic_ios"** %s.addr, align 4
  %3 = bitcast %"class.std::basic_ios"* %2 to %"class.std::ios_base"*
  call void @_ZNKSt8ios_base6getlocEv(%"class.std::locale"* sret %a_save_, %"class.std::ios_base"* %3)
  ret void
}

define linkonce_odr void @_ZN5boost2io20basic_ios_fill_saverIcSt11char_traitsIcEEC2ERSt9basic_iosIcS3_ERKc(%"class.boost::io::basic_ios_fill_saver"* %this, %"class.std::basic_ios"* %s, i8* %a) unnamed_addr align 2 {
entry:
  %this.addr = alloca %"class.boost::io::basic_ios_fill_saver"*, align 4
  %s.addr = alloca %"class.std::basic_ios"*, align 4
  %a.addr = alloca i8*, align 4
  store %"class.boost::io::basic_ios_fill_saver"* %this, %"class.boost::io::basic_ios_fill_saver"** %this.addr, align 4
  store %"class.std::basic_ios"* %s, %"class.std::basic_ios"** %s.addr, align 4
  store i8* %a, i8** %a.addr, align 4
  %this1 = load %"class.boost::io::basic_ios_fill_saver"** %this.addr
  %0 = getelementptr inbounds %"class.boost::io::basic_ios_fill_saver"* %this1, i32 0, i32 0
  %1 = load %"class.std::basic_ios"** %s.addr, align 4
  store %"class.std::basic_ios"* %1, %"class.std::basic_ios"** %0, align 4
  %a_save_ = getelementptr inbounds %"class.boost::io::basic_ios_fill_saver"* %this1, i32 0, i32 1
  %2 = load %"class.std::basic_ios"** %s.addr, align 4
  %3 = load i8** %a.addr, align 4
  %4 = load i8* %3, align 1
  %call = call signext i8 @_ZNSt9basic_iosIcSt11char_traitsIcEE4fillEc(%"class.std::basic_ios"* %2, i8 signext %4)
  store i8 %call, i8* %a_save_, align 1
  ret void
}

define linkonce_odr void @_ZN5boost2io20basic_ios_fill_saverIcSt11char_traitsIcEED2Ev(%"class.boost::io::basic_ios_fill_saver"* %this) unnamed_addr align 2 {
entry:
  %this.addr = alloca %"class.boost::io::basic_ios_fill_saver"*, align 4
  store %"class.boost::io::basic_ios_fill_saver"* %this, %"class.boost::io::basic_ios_fill_saver"** %this.addr, align 4
  %this1 = load %"class.boost::io::basic_ios_fill_saver"** %this.addr
  call void @_ZN5boost2io20basic_ios_fill_saverIcSt11char_traitsIcEE7restoreEv(%"class.boost::io::basic_ios_fill_saver"* %this1)
  ret void
}

define linkonce_odr void @_ZN5boost2io20basic_ios_fill_saverIcSt11char_traitsIcEE7restoreEv(%"class.boost::io::basic_ios_fill_saver"* %this) align 2 {
entry:
  %this.addr = alloca %"class.boost::io::basic_ios_fill_saver"*, align 4
  store %"class.boost::io::basic_ios_fill_saver"* %this, %"class.boost::io::basic_ios_fill_saver"** %this.addr, align 4
  %this1 = load %"class.boost::io::basic_ios_fill_saver"** %this.addr
  %s_save_ = getelementptr inbounds %"class.boost::io::basic_ios_fill_saver"* %this1, i32 0, i32 0
  %ref = load %"class.std::basic_ios"** %s_save_, align 4
  %a_save_ = getelementptr inbounds %"class.boost::io::basic_ios_fill_saver"* %this1, i32 0, i32 1
  %0 = load i8* %a_save_, align 1
  %call = call signext i8 @_ZNSt9basic_iosIcSt11char_traitsIcEE4fillEc(%"class.std::basic_ios"* %ref, i8 signext %0)
  ret void
}

define linkonce_odr void @_ZN5boost2io20basic_ios_fill_saverIcSt11char_traitsIcEEC2ERSt9basic_iosIcS3_E(%"class.boost::io::basic_ios_fill_saver"* %this, %"class.std::basic_ios"* %s) unnamed_addr align 2 {
entry:
  %this.addr = alloca %"class.boost::io::basic_ios_fill_saver"*, align 4
  %s.addr = alloca %"class.std::basic_ios"*, align 4
  store %"class.boost::io::basic_ios_fill_saver"* %this, %"class.boost::io::basic_ios_fill_saver"** %this.addr, align 4
  store %"class.std::basic_ios"* %s, %"class.std::basic_ios"** %s.addr, align 4
  %this1 = load %"class.boost::io::basic_ios_fill_saver"** %this.addr
  %0 = getelementptr inbounds %"class.boost::io::basic_ios_fill_saver"* %this1, i32 0, i32 0
  %1 = load %"class.std::basic_ios"** %s.addr, align 4
  store %"class.std::basic_ios"* %1, %"class.std::basic_ios"** %0, align 4
  %a_save_ = getelementptr inbounds %"class.boost::io::basic_ios_fill_saver"* %this1, i32 0, i32 1
  %2 = load %"class.std::basic_ios"** %s.addr, align 4
  %call = call signext i8 @_ZNKSt9basic_iosIcSt11char_traitsIcEE4fillEv(%"class.std::basic_ios"* %2)
  store i8 %call, i8* %a_save_, align 1
  ret void
}

define linkonce_odr void @_ZNK5boost10test_tools9tt_detail15equal_impl_frwdclIccEENS0_16predicate_resultERKT_RKT0_(%"class.boost::test_tools::predicate_result"* noalias sret %agg.result, %"struct.boost::test_tools::tt_detail::equal_impl_frwd"* %this, i8* %left, i8* %right) inlinehint align 2 {
entry:
  %this.addr = alloca %"struct.boost::test_tools::tt_detail::equal_impl_frwd"*, align 4
  %left.addr = alloca i8*, align 4
  %right.addr = alloca i8*, align 4
  %agg.tmp = alloca %"struct.mpl_::bool_", align 1
  %ref.tmp = alloca %"struct.boost::integral_constant", align 1
  store %"struct.boost::test_tools::tt_detail::equal_impl_frwd"* %this, %"struct.boost::test_tools::tt_detail::equal_impl_frwd"** %this.addr, align 4
  store i8* %left, i8** %left.addr, align 4
  store i8* %right, i8** %right.addr, align 4
  %this1 = load %"struct.boost::test_tools::tt_detail::equal_impl_frwd"** %this.addr
  %0 = load i8** %left.addr, align 4
  %1 = load i8** %right.addr, align 4
  %2 = bitcast %"struct.boost::integral_constant"* %ref.tmp to %"struct.mpl_::bool_"*
  call void @_ZNK5boost10test_tools9tt_detail15equal_impl_frwd9call_implIccEENS0_16predicate_resultERKT_RKT0_N4mpl_5bool_ILb0EEE(%"class.boost::test_tools::predicate_result"* sret %agg.result, %"struct.boost::test_tools::tt_detail::equal_impl_frwd"* %this1, i8* %0, i8* %1)
  ret void
}

define linkonce_odr void @_ZN5boost9unit_testlsINS_10test_tools9tt_detail14print_helper_tIcEEEENS0_17lazy_ostream_implIRKT_EERKNS0_12lazy_ostreamES9_(%"class.boost::unit_test::lazy_ostream_impl.39"* noalias sret %agg.result, %"class.boost::unit_test::lazy_ostream"* %prev, %"struct.boost::test_tools::tt_detail::print_helper_t.40"* %v) inlinehint {
entry:
  %prev.addr = alloca %"class.boost::unit_test::lazy_ostream"*, align 4
  %v.addr = alloca %"struct.boost::test_tools::tt_detail::print_helper_t.40"*, align 4
  store %"class.boost::unit_test::lazy_ostream"* %prev, %"class.boost::unit_test::lazy_ostream"** %prev.addr, align 4
  store %"struct.boost::test_tools::tt_detail::print_helper_t.40"* %v, %"struct.boost::test_tools::tt_detail::print_helper_t.40"** %v.addr, align 4
  %0 = load %"class.boost::unit_test::lazy_ostream"** %prev.addr, align 4
  %1 = load %"struct.boost::test_tools::tt_detail::print_helper_t.40"** %v.addr, align 4
  call void @_ZN5boost9unit_test17lazy_ostream_implIRKNS_10test_tools9tt_detail14print_helper_tIcEEEC1ERKNS0_12lazy_ostreamES7_(%"class.boost::unit_test::lazy_ostream_impl.39"* %agg.result, %"class.boost::unit_test::lazy_ostream"* %0, %"struct.boost::test_tools::tt_detail::print_helper_t.40"* %1)
  ret void
}

define linkonce_odr void @_ZN5boost10test_tools9tt_detail12print_helperIcEENS1_14print_helper_tIT_EERKS4_(%"struct.boost::test_tools::tt_detail::print_helper_t.40"* noalias sret %agg.result, i8* %t) inlinehint {
entry:
  %t.addr = alloca i8*, align 4
  store i8* %t, i8** %t.addr, align 4
  %0 = load i8** %t.addr, align 4
  call void @_ZN5boost10test_tools9tt_detail14print_helper_tIcEC1ERKc(%"struct.boost::test_tools::tt_detail::print_helper_t.40"* %agg.result, i8* %0)
  ret void
}

define linkonce_odr void @_ZN5boost9unit_test17lazy_ostream_implIRKNS_10test_tools9tt_detail14print_helper_tIcEEED1Ev(%"class.boost::unit_test::lazy_ostream_impl.39"* %this) unnamed_addr inlinehint align 2 {
entry:
  %this.addr = alloca %"class.boost::unit_test::lazy_ostream_impl.39"*, align 4
  store %"class.boost::unit_test::lazy_ostream_impl.39"* %this, %"class.boost::unit_test::lazy_ostream_impl.39"** %this.addr, align 4
  %this1 = load %"class.boost::unit_test::lazy_ostream_impl.39"** %this.addr
  call void @_ZN5boost9unit_test17lazy_ostream_implIRKNS_10test_tools9tt_detail14print_helper_tIcEEED2Ev(%"class.boost::unit_test::lazy_ostream_impl.39"* %this1)
  ret void
}

define linkonce_odr void @_ZN5boost9unit_test17lazy_ostream_implIRKNS_10test_tools9tt_detail14print_helper_tIcEEED2Ev(%"class.boost::unit_test::lazy_ostream_impl.39"* %this) unnamed_addr nounwind inlinehint align 2 {
entry:
  %this.addr = alloca %"class.boost::unit_test::lazy_ostream_impl.39"*, align 4
  store %"class.boost::unit_test::lazy_ostream_impl.39"* %this, %"class.boost::unit_test::lazy_ostream_impl.39"** %this.addr, align 4
  %this1 = load %"class.boost::unit_test::lazy_ostream_impl.39"** %this.addr
  %0 = bitcast %"class.boost::unit_test::lazy_ostream_impl.39"* %this1 to %"class.boost::unit_test::lazy_ostream"*
  call void @_ZN5boost9unit_test12lazy_ostreamD2Ev(%"class.boost::unit_test::lazy_ostream"* %0)
  ret void
}

define linkonce_odr void @_ZN5boost10test_tools9tt_detail14print_helper_tIcEC1ERKc(%"struct.boost::test_tools::tt_detail::print_helper_t.40"* %this, i8* %t) unnamed_addr align 2 {
entry:
  %this.addr = alloca %"struct.boost::test_tools::tt_detail::print_helper_t.40"*, align 4
  %t.addr = alloca i8*, align 4
  store %"struct.boost::test_tools::tt_detail::print_helper_t.40"* %this, %"struct.boost::test_tools::tt_detail::print_helper_t.40"** %this.addr, align 4
  store i8* %t, i8** %t.addr, align 4
  %this1 = load %"struct.boost::test_tools::tt_detail::print_helper_t.40"** %this.addr
  %0 = load i8** %t.addr
  call void @_ZN5boost10test_tools9tt_detail14print_helper_tIcEC2ERKc(%"struct.boost::test_tools::tt_detail::print_helper_t.40"* %this1, i8* %0)
  ret void
}

define linkonce_odr void @_ZN5boost10test_tools9tt_detail14print_helper_tIcEC2ERKc(%"struct.boost::test_tools::tt_detail::print_helper_t.40"* %this, i8* %t) unnamed_addr nounwind align 2 {
entry:
  %this.addr = alloca %"struct.boost::test_tools::tt_detail::print_helper_t.40"*, align 4
  %t.addr = alloca i8*, align 4
  store %"struct.boost::test_tools::tt_detail::print_helper_t.40"* %this, %"struct.boost::test_tools::tt_detail::print_helper_t.40"** %this.addr, align 4
  store i8* %t, i8** %t.addr, align 4
  %this1 = load %"struct.boost::test_tools::tt_detail::print_helper_t.40"** %this.addr
  %0 = getelementptr inbounds %"struct.boost::test_tools::tt_detail::print_helper_t.40"* %this1, i32 0, i32 0
  %1 = load i8** %t.addr, align 4
  store i8* %1, i8** %0, align 4
  ret void
}

define linkonce_odr void @_ZN5boost9unit_test17lazy_ostream_implIRKNS_10test_tools9tt_detail14print_helper_tIcEEEC1ERKNS0_12lazy_ostreamES7_(%"class.boost::unit_test::lazy_ostream_impl.39"* %this, %"class.boost::unit_test::lazy_ostream"* %prev, %"struct.boost::test_tools::tt_detail::print_helper_t.40"* %value) unnamed_addr align 2 {
entry:
  %this.addr = alloca %"class.boost::unit_test::lazy_ostream_impl.39"*, align 4
  %prev.addr = alloca %"class.boost::unit_test::lazy_ostream"*, align 4
  %value.addr = alloca %"struct.boost::test_tools::tt_detail::print_helper_t.40"*, align 4
  store %"class.boost::unit_test::lazy_ostream_impl.39"* %this, %"class.boost::unit_test::lazy_ostream_impl.39"** %this.addr, align 4
  store %"class.boost::unit_test::lazy_ostream"* %prev, %"class.boost::unit_test::lazy_ostream"** %prev.addr, align 4
  store %"struct.boost::test_tools::tt_detail::print_helper_t.40"* %value, %"struct.boost::test_tools::tt_detail::print_helper_t.40"** %value.addr, align 4
  %this1 = load %"class.boost::unit_test::lazy_ostream_impl.39"** %this.addr
  %0 = load %"class.boost::unit_test::lazy_ostream"** %prev.addr
  %1 = load %"struct.boost::test_tools::tt_detail::print_helper_t.40"** %value.addr
  call void @_ZN5boost9unit_test17lazy_ostream_implIRKNS_10test_tools9tt_detail14print_helper_tIcEEEC2ERKNS0_12lazy_ostreamES7_(%"class.boost::unit_test::lazy_ostream_impl.39"* %this1, %"class.boost::unit_test::lazy_ostream"* %0, %"struct.boost::test_tools::tt_detail::print_helper_t.40"* %1)
  ret void
}

define linkonce_odr void @_ZN5boost9unit_test17lazy_ostream_implIRKNS_10test_tools9tt_detail14print_helper_tIcEEEC2ERKNS0_12lazy_ostreamES7_(%"class.boost::unit_test::lazy_ostream_impl.39"* %this, %"class.boost::unit_test::lazy_ostream"* %prev, %"struct.boost::test_tools::tt_detail::print_helper_t.40"* %value) unnamed_addr nounwind align 2 {
entry:
  %this.addr = alloca %"class.boost::unit_test::lazy_ostream_impl.39"*, align 4
  %prev.addr = alloca %"class.boost::unit_test::lazy_ostream"*, align 4
  %value.addr = alloca %"struct.boost::test_tools::tt_detail::print_helper_t.40"*, align 4
  store %"class.boost::unit_test::lazy_ostream_impl.39"* %this, %"class.boost::unit_test::lazy_ostream_impl.39"** %this.addr, align 4
  store %"class.boost::unit_test::lazy_ostream"* %prev, %"class.boost::unit_test::lazy_ostream"** %prev.addr, align 4
  store %"struct.boost::test_tools::tt_detail::print_helper_t.40"* %value, %"struct.boost::test_tools::tt_detail::print_helper_t.40"** %value.addr, align 4
  %this1 = load %"class.boost::unit_test::lazy_ostream_impl.39"** %this.addr
  %0 = bitcast %"class.boost::unit_test::lazy_ostream_impl.39"* %this1 to %"class.boost::unit_test::lazy_ostream"*
  call void @_ZN5boost9unit_test12lazy_ostreamC2Eb(%"class.boost::unit_test::lazy_ostream"* %0, i1 zeroext false)
  %1 = bitcast %"class.boost::unit_test::lazy_ostream_impl.39"* %this1 to i8***
  store i8** getelementptr inbounds ([5 x i8*]* @_ZTVN5boost9unit_test17lazy_ostream_implIRKNS_10test_tools9tt_detail14print_helper_tIcEEEE, i64 0, i64 2), i8*** %1
  %2 = getelementptr inbounds %"class.boost::unit_test::lazy_ostream_impl.39"* %this1, i32 0, i32 1
  %3 = load %"class.boost::unit_test::lazy_ostream"** %prev.addr, align 4
  store %"class.boost::unit_test::lazy_ostream"* %3, %"class.boost::unit_test::lazy_ostream"** %2, align 4
  %4 = getelementptr inbounds %"class.boost::unit_test::lazy_ostream_impl.39"* %this1, i32 0, i32 2
  %5 = load %"struct.boost::test_tools::tt_detail::print_helper_t.40"** %value.addr, align 4
  store %"struct.boost::test_tools::tt_detail::print_helper_t.40"* %5, %"struct.boost::test_tools::tt_detail::print_helper_t.40"** %4, align 4
  ret void
}

define linkonce_odr %"class.std::basic_ostream"* @_ZNK5boost9unit_test17lazy_ostream_implIRKNS_10test_tools9tt_detail14print_helper_tIcEEEclERSo(%"class.boost::unit_test::lazy_ostream_impl.39"* %this, %"class.std::basic_ostream"* %ostr) unnamed_addr align 2 {
entry:
  %this.addr = alloca %"class.boost::unit_test::lazy_ostream_impl.39"*, align 4
  %ostr.addr = alloca %"class.std::basic_ostream"*, align 4
  store %"class.boost::unit_test::lazy_ostream_impl.39"* %this, %"class.boost::unit_test::lazy_ostream_impl.39"** %this.addr, align 4
  store %"class.std::basic_ostream"* %ostr, %"class.std::basic_ostream"** %ostr.addr, align 4
  %this1 = load %"class.boost::unit_test::lazy_ostream_impl.39"** %this.addr
  %m_prev = getelementptr inbounds %"class.boost::unit_test::lazy_ostream_impl.39"* %this1, i32 0, i32 1
  %ref = load %"class.boost::unit_test::lazy_ostream"** %m_prev, align 4
  %0 = bitcast %"class.boost::unit_test::lazy_ostream"* %ref to %"class.std::basic_ostream"* (%"class.boost::unit_test::lazy_ostream"*, %"class.std::basic_ostream"*)***
  %vtable = load %"class.std::basic_ostream"* (%"class.boost::unit_test::lazy_ostream"*, %"class.std::basic_ostream"*)*** %0
  %vfn = getelementptr inbounds %"class.std::basic_ostream"* (%"class.boost::unit_test::lazy_ostream"*, %"class.std::basic_ostream"*)** %vtable, i64 0
  %1 = load %"class.std::basic_ostream"* (%"class.boost::unit_test::lazy_ostream"*, %"class.std::basic_ostream"*)** %vfn
  %2 = load %"class.std::basic_ostream"** %ostr.addr, align 4
  %call = call %"class.std::basic_ostream"* %1(%"class.boost::unit_test::lazy_ostream"* %ref, %"class.std::basic_ostream"* %2)
  %m_value = getelementptr inbounds %"class.boost::unit_test::lazy_ostream_impl.39"* %this1, i32 0, i32 2
  %ref2 = load %"struct.boost::test_tools::tt_detail::print_helper_t.40"** %m_value, align 4
  %call3 = call %"class.std::basic_ostream"* @_ZN5boost10test_tools9tt_detaillsIcEERSoS3_RKNS1_14print_helper_tIT_EE(%"class.std::basic_ostream"* %call, %"struct.boost::test_tools::tt_detail::print_helper_t.40"* %ref2)
  ret %"class.std::basic_ostream"* %call3
}

define linkonce_odr void @_ZN5boost9unit_test17lazy_ostream_implIRKNS_10test_tools9tt_detail14print_helper_tIcEEED0Ev(%"class.boost::unit_test::lazy_ostream_impl.39"* %this) unnamed_addr inlinehint align 2 {
entry:
  %this.addr = alloca %"class.boost::unit_test::lazy_ostream_impl.39"*, align 4
  %exn.slot = alloca i8*
  %ehselector.slot = alloca i32
  store %"class.boost::unit_test::lazy_ostream_impl.39"* %this, %"class.boost::unit_test::lazy_ostream_impl.39"** %this.addr, align 4
  %this1 = load %"class.boost::unit_test::lazy_ostream_impl.39"** %this.addr
  invoke void @_ZN5boost9unit_test17lazy_ostream_implIRKNS_10test_tools9tt_detail14print_helper_tIcEEED1Ev(%"class.boost::unit_test::lazy_ostream_impl.39"* %this1)
          to label %invoke.cont unwind label %lpad

invoke.cont:                                      ; preds = %entry
  %0 = bitcast %"class.boost::unit_test::lazy_ostream_impl.39"* %this1 to i8*
  call void @_ZdlPv(i8* %0) nounwind
  ret void

lpad:                                             ; preds = %entry
  %1 = landingpad { i8*, i32 } personality i8* bitcast (i32 (...)* @__gxx_personality_v0 to i8*)
          cleanup
  %2 = extractvalue { i8*, i32 } %1, 0
  store i8* %2, i8** %exn.slot
  %3 = extractvalue { i8*, i32 } %1, 1
  store i32 %3, i32* %ehselector.slot
  %4 = bitcast %"class.boost::unit_test::lazy_ostream_impl.39"* %this1 to i8*
  call void @_ZdlPv(i8* %4) nounwind
  br label %eh.resume

eh.resume:                                        ; preds = %lpad
  %exn = load i8** %exn.slot
  %sel = load i32* %ehselector.slot
  %lpad.val = insertvalue { i8*, i32 } undef, i8* %exn, 0
  %lpad.val2 = insertvalue { i8*, i32 } %lpad.val, i32 %sel, 1
  resume { i8*, i32 } %lpad.val2
}

define linkonce_odr %"class.std::basic_ostream"* @_ZN5boost10test_tools9tt_detaillsIcEERSoS3_RKNS1_14print_helper_tIT_EE(%"class.std::basic_ostream"* %ostr, %"struct.boost::test_tools::tt_detail::print_helper_t.40"* %ph) inlinehint {
entry:
  %ostr.addr = alloca %"class.std::basic_ostream"*, align 4
  %ph.addr = alloca %"struct.boost::test_tools::tt_detail::print_helper_t.40"*, align 4
  %tmp = alloca %"struct.boost::test_tools::print_log_value.41", align 1
  store %"class.std::basic_ostream"* %ostr, %"class.std::basic_ostream"** %ostr.addr, align 4
  store %"struct.boost::test_tools::tt_detail::print_helper_t.40"* %ph, %"struct.boost::test_tools::tt_detail::print_helper_t.40"** %ph.addr, align 4
  %0 = load %"class.std::basic_ostream"** %ostr.addr, align 4
  %1 = load %"struct.boost::test_tools::tt_detail::print_helper_t.40"** %ph.addr, align 4
  %m_t = getelementptr inbounds %"struct.boost::test_tools::tt_detail::print_helper_t.40"* %1, i32 0, i32 0
  %ref = load i8** %m_t, align 4
  %2 = load i8* %ref, align 1
  call void @_ZN5boost10test_tools15print_log_valueIcEclERSoc(%"struct.boost::test_tools::print_log_value.41"* %tmp, %"class.std::basic_ostream"* %0, i8 signext %2)
  %3 = load %"class.std::basic_ostream"** %ostr.addr, align 4
  ret %"class.std::basic_ostream"* %3
}

declare void @_ZN5boost10test_tools15print_log_valueIcEclERSoc(%"struct.boost::test_tools::print_log_value.41"*, %"class.std::basic_ostream"*, i8 signext)

define linkonce_odr void @_ZNK5boost10test_tools9tt_detail15equal_impl_frwd9call_implIccEENS0_16predicate_resultERKT_RKT0_N4mpl_5bool_ILb0EEE(%"class.boost::test_tools::predicate_result"* noalias sret %agg.result, %"struct.boost::test_tools::tt_detail::equal_impl_frwd"* %this, i8* %left, i8* %right) inlinehint align 2 {
entry:
  %this.addr = alloca %"struct.boost::test_tools::tt_detail::equal_impl_frwd"*, align 4
  %left.addr = alloca i8*, align 4
  %right.addr = alloca i8*, align 4
  %0 = alloca %"struct.mpl_::bool_", align 1
  store %"struct.boost::test_tools::tt_detail::equal_impl_frwd"* %this, %"struct.boost::test_tools::tt_detail::equal_impl_frwd"** %this.addr, align 4
  store i8* %left, i8** %left.addr, align 4
  store i8* %right, i8** %right.addr, align 4
  %this1 = load %"struct.boost::test_tools::tt_detail::equal_impl_frwd"** %this.addr
  %1 = load i8** %left.addr, align 4
  %2 = load i8** %right.addr, align 4
  call void @_ZN5boost10test_tools9tt_detail10equal_implIccEENS0_16predicate_resultERKT_RKT0_(%"class.boost::test_tools::predicate_result"* sret %agg.result, i8* %1, i8* %2)
  ret void
}

define linkonce_odr void @_ZN5boost10test_tools9tt_detail10equal_implIccEENS0_16predicate_resultERKT_RKT0_(%"class.boost::test_tools::predicate_result"* noalias sret %agg.result, i8* %left, i8* %right) {
entry:
  %left.addr = alloca i8*, align 4
  %right.addr = alloca i8*, align 4
  store i8* %left, i8** %left.addr, align 4
  store i8* %right, i8** %right.addr, align 4
  %0 = load i8** %left.addr, align 4
  %1 = load i8* %0, align 1
  %conv = sext i8 %1 to i32
  %2 = load i8** %right.addr, align 4
  %3 = load i8* %2, align 1
  %conv1 = sext i8 %3 to i32
  %cmp = icmp eq i32 %conv, %conv1
  call void @_ZN5boost10test_tools16predicate_resultC1Eb(%"class.boost::test_tools::predicate_result"* %agg.result, i1 zeroext %cmp)
  ret void
}

define linkonce_odr void @_ZN5boost2io21basic_ios_rdbuf_saverIcSt11char_traitsIcEEC2ERSt9basic_iosIcS3_ERKPSt15basic_streambufIcS3_E(%"class.boost::io::basic_ios_rdbuf_saver"* %this, %"class.std::basic_ios"* %s, %"class.std::basic_streambuf"** %a) unnamed_addr align 2 {
entry:
  %this.addr = alloca %"class.boost::io::basic_ios_rdbuf_saver"*, align 4
  %s.addr = alloca %"class.std::basic_ios"*, align 4
  %a.addr = alloca %"class.std::basic_streambuf"**, align 4
  store %"class.boost::io::basic_ios_rdbuf_saver"* %this, %"class.boost::io::basic_ios_rdbuf_saver"** %this.addr, align 4
  store %"class.std::basic_ios"* %s, %"class.std::basic_ios"** %s.addr, align 4
  store %"class.std::basic_streambuf"** %a, %"class.std::basic_streambuf"*** %a.addr, align 4
  %this1 = load %"class.boost::io::basic_ios_rdbuf_saver"** %this.addr
  %0 = getelementptr inbounds %"class.boost::io::basic_ios_rdbuf_saver"* %this1, i32 0, i32 0
  %1 = load %"class.std::basic_ios"** %s.addr, align 4
  store %"class.std::basic_ios"* %1, %"class.std::basic_ios"** %0, align 4
  %a_save_ = getelementptr inbounds %"class.boost::io::basic_ios_rdbuf_saver"* %this1, i32 0, i32 1
  %2 = load %"class.std::basic_ios"** %s.addr, align 4
  %3 = load %"class.std::basic_streambuf"*** %a.addr, align 4
  %4 = load %"class.std::basic_streambuf"** %3, align 4
  %call = call %"class.std::basic_streambuf"* @_ZNSt9basic_iosIcSt11char_traitsIcEE5rdbufEPSt15basic_streambufIcS1_E(%"class.std::basic_ios"* %2, %"class.std::basic_streambuf"* %4)
  store %"class.std::basic_streambuf"* %call, %"class.std::basic_streambuf"** %a_save_, align 4
  ret void
}

define linkonce_odr void @_ZNK5boost10test_tools9tt_detail15equal_impl_frwdclIPSt15basic_stringbufIcSt11char_traitsIcESaIcEEPSt15basic_streambufIcS6_EEENS0_16predicate_resultERKT_RKT0_(%"class.boost::test_tools::predicate_result"* noalias sret %agg.result, %"struct.boost::test_tools::tt_detail::equal_impl_frwd"* %this, %"class.std::basic_stringbuf"** %left, %"class.std::basic_streambuf"** %right) inlinehint align 2 {
entry:
  %this.addr = alloca %"struct.boost::test_tools::tt_detail::equal_impl_frwd"*, align 4
  %left.addr = alloca %"class.std::basic_stringbuf"**, align 4
  %right.addr = alloca %"class.std::basic_streambuf"**, align 4
  %agg.tmp = alloca %"struct.mpl_::bool_", align 1
  %ref.tmp = alloca %"struct.boost::integral_constant", align 1
  store %"struct.boost::test_tools::tt_detail::equal_impl_frwd"* %this, %"struct.boost::test_tools::tt_detail::equal_impl_frwd"** %this.addr, align 4
  store %"class.std::basic_stringbuf"** %left, %"class.std::basic_stringbuf"*** %left.addr, align 4
  store %"class.std::basic_streambuf"** %right, %"class.std::basic_streambuf"*** %right.addr, align 4
  %this1 = load %"struct.boost::test_tools::tt_detail::equal_impl_frwd"** %this.addr
  %0 = load %"class.std::basic_stringbuf"*** %left.addr, align 4
  %1 = load %"class.std::basic_streambuf"*** %right.addr, align 4
  %2 = bitcast %"struct.boost::integral_constant"* %ref.tmp to %"struct.mpl_::bool_"*
  call void @_ZNK5boost10test_tools9tt_detail15equal_impl_frwd9call_implIPSt15basic_stringbufIcSt11char_traitsIcESaIcEEPSt15basic_streambufIcS6_EEENS0_16predicate_resultERKT_RKT0_N4mpl_5bool_ILb0EEE(%"class.boost::test_tools::predicate_result"* sret %agg.result, %"struct.boost::test_tools::tt_detail::equal_impl_frwd"* %this1, %"class.std::basic_stringbuf"** %0, %"class.std::basic_streambuf"** %1)
  ret void
}

define linkonce_odr void @_ZNK5boost10test_tools9tt_detail15equal_impl_frwd9call_implIPSt15basic_stringbufIcSt11char_traitsIcESaIcEEPSt15basic_streambufIcS6_EEENS0_16predicate_resultERKT_RKT0_N4mpl_5bool_ILb0EEE(%"class.boost::test_tools::predicate_result"* noalias sret %agg.result, %"struct.boost::test_tools::tt_detail::equal_impl_frwd"* %this, %"class.std::basic_stringbuf"** %left, %"class.std::basic_streambuf"** %right) inlinehint align 2 {
entry:
  %this.addr = alloca %"struct.boost::test_tools::tt_detail::equal_impl_frwd"*, align 4
  %left.addr = alloca %"class.std::basic_stringbuf"**, align 4
  %right.addr = alloca %"class.std::basic_streambuf"**, align 4
  %0 = alloca %"struct.mpl_::bool_", align 1
  store %"struct.boost::test_tools::tt_detail::equal_impl_frwd"* %this, %"struct.boost::test_tools::tt_detail::equal_impl_frwd"** %this.addr, align 4
  store %"class.std::basic_stringbuf"** %left, %"class.std::basic_stringbuf"*** %left.addr, align 4
  store %"class.std::basic_streambuf"** %right, %"class.std::basic_streambuf"*** %right.addr, align 4
  %this1 = load %"struct.boost::test_tools::tt_detail::equal_impl_frwd"** %this.addr
  %1 = load %"class.std::basic_stringbuf"*** %left.addr, align 4
  %2 = load %"class.std::basic_streambuf"*** %right.addr, align 4
  call void @_ZN5boost10test_tools9tt_detail10equal_implIPSt15basic_stringbufIcSt11char_traitsIcESaIcEEPSt15basic_streambufIcS5_EEENS0_16predicate_resultERKT_RKT0_(%"class.boost::test_tools::predicate_result"* sret %agg.result, %"class.std::basic_stringbuf"** %1, %"class.std::basic_streambuf"** %2)
  ret void
}

define linkonce_odr void @_ZN5boost10test_tools9tt_detail10equal_implIPSt15basic_stringbufIcSt11char_traitsIcESaIcEEPSt15basic_streambufIcS5_EEENS0_16predicate_resultERKT_RKT0_(%"class.boost::test_tools::predicate_result"* noalias sret %agg.result, %"class.std::basic_stringbuf"** %left, %"class.std::basic_streambuf"** %right) {
entry:
  %left.addr = alloca %"class.std::basic_stringbuf"**, align 4
  %right.addr = alloca %"class.std::basic_streambuf"**, align 4
  store %"class.std::basic_stringbuf"** %left, %"class.std::basic_stringbuf"*** %left.addr, align 4
  store %"class.std::basic_streambuf"** %right, %"class.std::basic_streambuf"*** %right.addr, align 4
  %0 = load %"class.std::basic_stringbuf"*** %left.addr, align 4
  %1 = load %"class.std::basic_stringbuf"** %0, align 4
  %2 = bitcast %"class.std::basic_stringbuf"* %1 to %"class.std::basic_streambuf"*
  %3 = load %"class.std::basic_streambuf"*** %right.addr, align 4
  %4 = load %"class.std::basic_streambuf"** %3, align 4
  %cmp = icmp eq %"class.std::basic_streambuf"* %2, %4
  call void @_ZN5boost10test_tools16predicate_resultC1Eb(%"class.boost::test_tools::predicate_result"* %agg.result, i1 zeroext %cmp)
  ret void
}

define linkonce_odr void @_ZN5boost2io21basic_ios_rdbuf_saverIcSt11char_traitsIcEED2Ev(%"class.boost::io::basic_ios_rdbuf_saver"* %this) unnamed_addr align 2 {
entry:
  %this.addr = alloca %"class.boost::io::basic_ios_rdbuf_saver"*, align 4
  store %"class.boost::io::basic_ios_rdbuf_saver"* %this, %"class.boost::io::basic_ios_rdbuf_saver"** %this.addr, align 4
  %this1 = load %"class.boost::io::basic_ios_rdbuf_saver"** %this.addr
  call void @_ZN5boost2io21basic_ios_rdbuf_saverIcSt11char_traitsIcEE7restoreEv(%"class.boost::io::basic_ios_rdbuf_saver"* %this1)
  ret void
}

define linkonce_odr void @_ZN5boost2io21basic_ios_rdbuf_saverIcSt11char_traitsIcEE7restoreEv(%"class.boost::io::basic_ios_rdbuf_saver"* %this) align 2 {
entry:
  %this.addr = alloca %"class.boost::io::basic_ios_rdbuf_saver"*, align 4
  store %"class.boost::io::basic_ios_rdbuf_saver"* %this, %"class.boost::io::basic_ios_rdbuf_saver"** %this.addr, align 4
  %this1 = load %"class.boost::io::basic_ios_rdbuf_saver"** %this.addr
  %s_save_ = getelementptr inbounds %"class.boost::io::basic_ios_rdbuf_saver"* %this1, i32 0, i32 0
  %ref = load %"class.std::basic_ios"** %s_save_, align 4
  %a_save_ = getelementptr inbounds %"class.boost::io::basic_ios_rdbuf_saver"* %this1, i32 0, i32 1
  %0 = load %"class.std::basic_streambuf"** %a_save_, align 4
  %call = call %"class.std::basic_streambuf"* @_ZNSt9basic_iosIcSt11char_traitsIcEE5rdbufEPSt15basic_streambufIcS1_E(%"class.std::basic_ios"* %ref, %"class.std::basic_streambuf"* %0)
  ret void
}

define linkonce_odr void @_ZN5boost2io21basic_ios_rdbuf_saverIcSt11char_traitsIcEEC2ERSt9basic_iosIcS3_E(%"class.boost::io::basic_ios_rdbuf_saver"* %this, %"class.std::basic_ios"* %s) unnamed_addr align 2 {
entry:
  %this.addr = alloca %"class.boost::io::basic_ios_rdbuf_saver"*, align 4
  %s.addr = alloca %"class.std::basic_ios"*, align 4
  store %"class.boost::io::basic_ios_rdbuf_saver"* %this, %"class.boost::io::basic_ios_rdbuf_saver"** %this.addr, align 4
  store %"class.std::basic_ios"* %s, %"class.std::basic_ios"** %s.addr, align 4
  %this1 = load %"class.boost::io::basic_ios_rdbuf_saver"** %this.addr
  %0 = getelementptr inbounds %"class.boost::io::basic_ios_rdbuf_saver"* %this1, i32 0, i32 0
  %1 = load %"class.std::basic_ios"** %s.addr, align 4
  store %"class.std::basic_ios"* %1, %"class.std::basic_ios"** %0, align 4
  %a_save_ = getelementptr inbounds %"class.boost::io::basic_ios_rdbuf_saver"* %this1, i32 0, i32 1
  %2 = load %"class.std::basic_ios"** %s.addr, align 4
  %call = call %"class.std::basic_streambuf"* @_ZNKSt9basic_iosIcSt11char_traitsIcEE5rdbufEv(%"class.std::basic_ios"* %2)
  store %"class.std::basic_streambuf"* %call, %"class.std::basic_streambuf"** %a_save_, align 4
  ret void
}

define linkonce_odr void @_ZN5boost2io19basic_ios_tie_saverIcSt11char_traitsIcEEC2ERSt9basic_iosIcS3_ERKPSo(%"class.boost::io::basic_ios_tie_saver"* %this, %"class.std::basic_ios"* %s, %"class.std::basic_ostream"** %a) unnamed_addr align 2 {
entry:
  %this.addr = alloca %"class.boost::io::basic_ios_tie_saver"*, align 4
  %s.addr = alloca %"class.std::basic_ios"*, align 4
  %a.addr = alloca %"class.std::basic_ostream"**, align 4
  store %"class.boost::io::basic_ios_tie_saver"* %this, %"class.boost::io::basic_ios_tie_saver"** %this.addr, align 4
  store %"class.std::basic_ios"* %s, %"class.std::basic_ios"** %s.addr, align 4
  store %"class.std::basic_ostream"** %a, %"class.std::basic_ostream"*** %a.addr, align 4
  %this1 = load %"class.boost::io::basic_ios_tie_saver"** %this.addr
  %0 = getelementptr inbounds %"class.boost::io::basic_ios_tie_saver"* %this1, i32 0, i32 0
  %1 = load %"class.std::basic_ios"** %s.addr, align 4
  store %"class.std::basic_ios"* %1, %"class.std::basic_ios"** %0, align 4
  %a_save_ = getelementptr inbounds %"class.boost::io::basic_ios_tie_saver"* %this1, i32 0, i32 1
  %2 = load %"class.std::basic_ios"** %s.addr, align 4
  %3 = load %"class.std::basic_ostream"*** %a.addr, align 4
  %4 = load %"class.std::basic_ostream"** %3, align 4
  %call = call %"class.std::basic_ostream"* @_ZNSt9basic_iosIcSt11char_traitsIcEE3tieEPSo(%"class.std::basic_ios"* %2, %"class.std::basic_ostream"* %4)
  store %"class.std::basic_ostream"* %call, %"class.std::basic_ostream"** %a_save_, align 4
  ret void
}

define linkonce_odr void @_ZNK5boost10test_tools9tt_detail15equal_impl_frwdclIPSoS4_EENS0_16predicate_resultERKT_RKT0_(%"class.boost::test_tools::predicate_result"* noalias sret %agg.result, %"struct.boost::test_tools::tt_detail::equal_impl_frwd"* %this, %"class.std::basic_ostream"** %left, %"class.std::basic_ostream"** %right) inlinehint align 2 {
entry:
  %this.addr = alloca %"struct.boost::test_tools::tt_detail::equal_impl_frwd"*, align 4
  %left.addr = alloca %"class.std::basic_ostream"**, align 4
  %right.addr = alloca %"class.std::basic_ostream"**, align 4
  %agg.tmp = alloca %"struct.mpl_::bool_", align 1
  %ref.tmp = alloca %"struct.boost::integral_constant", align 1
  store %"struct.boost::test_tools::tt_detail::equal_impl_frwd"* %this, %"struct.boost::test_tools::tt_detail::equal_impl_frwd"** %this.addr, align 4
  store %"class.std::basic_ostream"** %left, %"class.std::basic_ostream"*** %left.addr, align 4
  store %"class.std::basic_ostream"** %right, %"class.std::basic_ostream"*** %right.addr, align 4
  %this1 = load %"struct.boost::test_tools::tt_detail::equal_impl_frwd"** %this.addr
  %0 = load %"class.std::basic_ostream"*** %left.addr, align 4
  %1 = load %"class.std::basic_ostream"*** %right.addr, align 4
  %2 = bitcast %"struct.boost::integral_constant"* %ref.tmp to %"struct.mpl_::bool_"*
  call void @_ZNK5boost10test_tools9tt_detail15equal_impl_frwd9call_implIPSoS4_EENS0_16predicate_resultERKT_RKT0_N4mpl_5bool_ILb0EEE(%"class.boost::test_tools::predicate_result"* sret %agg.result, %"struct.boost::test_tools::tt_detail::equal_impl_frwd"* %this1, %"class.std::basic_ostream"** %0, %"class.std::basic_ostream"** %1)
  ret void
}

define linkonce_odr void @_ZN5boost9unit_testlsINS_10test_tools9tt_detail14print_helper_tIPSoEEEENS0_17lazy_ostream_implIRKT_EERKNS0_12lazy_ostreamESA_(%"class.boost::unit_test::lazy_ostream_impl.42"* noalias sret %agg.result, %"class.boost::unit_test::lazy_ostream"* %prev, %"struct.boost::test_tools::tt_detail::print_helper_t.43"* %v) inlinehint {
entry:
  %prev.addr = alloca %"class.boost::unit_test::lazy_ostream"*, align 4
  %v.addr = alloca %"struct.boost::test_tools::tt_detail::print_helper_t.43"*, align 4
  store %"class.boost::unit_test::lazy_ostream"* %prev, %"class.boost::unit_test::lazy_ostream"** %prev.addr, align 4
  store %"struct.boost::test_tools::tt_detail::print_helper_t.43"* %v, %"struct.boost::test_tools::tt_detail::print_helper_t.43"** %v.addr, align 4
  %0 = load %"class.boost::unit_test::lazy_ostream"** %prev.addr, align 4
  %1 = load %"struct.boost::test_tools::tt_detail::print_helper_t.43"** %v.addr, align 4
  call void @_ZN5boost9unit_test17lazy_ostream_implIRKNS_10test_tools9tt_detail14print_helper_tIPSoEEEC1ERKNS0_12lazy_ostreamES8_(%"class.boost::unit_test::lazy_ostream_impl.42"* %agg.result, %"class.boost::unit_test::lazy_ostream"* %0, %"struct.boost::test_tools::tt_detail::print_helper_t.43"* %1)
  ret void
}

define linkonce_odr void @_ZN5boost10test_tools9tt_detail12print_helperIPSoEENS1_14print_helper_tIT_EERKS5_(%"struct.boost::test_tools::tt_detail::print_helper_t.43"* noalias sret %agg.result, %"class.std::basic_ostream"** %t) inlinehint {
entry:
  %t.addr = alloca %"class.std::basic_ostream"**, align 4
  store %"class.std::basic_ostream"** %t, %"class.std::basic_ostream"*** %t.addr, align 4
  %0 = load %"class.std::basic_ostream"*** %t.addr, align 4
  call void @_ZN5boost10test_tools9tt_detail14print_helper_tIPSoEC1ERKS3_(%"struct.boost::test_tools::tt_detail::print_helper_t.43"* %agg.result, %"class.std::basic_ostream"** %0)
  ret void
}

define linkonce_odr void @_ZN5boost9unit_test17lazy_ostream_implIRKNS_10test_tools9tt_detail14print_helper_tIPSoEEED1Ev(%"class.boost::unit_test::lazy_ostream_impl.42"* %this) unnamed_addr inlinehint align 2 {
entry:
  %this.addr = alloca %"class.boost::unit_test::lazy_ostream_impl.42"*, align 4
  store %"class.boost::unit_test::lazy_ostream_impl.42"* %this, %"class.boost::unit_test::lazy_ostream_impl.42"** %this.addr, align 4
  %this1 = load %"class.boost::unit_test::lazy_ostream_impl.42"** %this.addr
  call void @_ZN5boost9unit_test17lazy_ostream_implIRKNS_10test_tools9tt_detail14print_helper_tIPSoEEED2Ev(%"class.boost::unit_test::lazy_ostream_impl.42"* %this1)
  ret void
}

define linkonce_odr void @_ZN5boost9unit_test17lazy_ostream_implIRKNS_10test_tools9tt_detail14print_helper_tIPSoEEED2Ev(%"class.boost::unit_test::lazy_ostream_impl.42"* %this) unnamed_addr nounwind inlinehint align 2 {
entry:
  %this.addr = alloca %"class.boost::unit_test::lazy_ostream_impl.42"*, align 4
  store %"class.boost::unit_test::lazy_ostream_impl.42"* %this, %"class.boost::unit_test::lazy_ostream_impl.42"** %this.addr, align 4
  %this1 = load %"class.boost::unit_test::lazy_ostream_impl.42"** %this.addr
  %0 = bitcast %"class.boost::unit_test::lazy_ostream_impl.42"* %this1 to %"class.boost::unit_test::lazy_ostream"*
  call void @_ZN5boost9unit_test12lazy_ostreamD2Ev(%"class.boost::unit_test::lazy_ostream"* %0)
  ret void
}

define linkonce_odr void @_ZN5boost10test_tools9tt_detail14print_helper_tIPSoEC1ERKS3_(%"struct.boost::test_tools::tt_detail::print_helper_t.43"* %this, %"class.std::basic_ostream"** %t) unnamed_addr align 2 {
entry:
  %this.addr = alloca %"struct.boost::test_tools::tt_detail::print_helper_t.43"*, align 4
  %t.addr = alloca %"class.std::basic_ostream"**, align 4
  store %"struct.boost::test_tools::tt_detail::print_helper_t.43"* %this, %"struct.boost::test_tools::tt_detail::print_helper_t.43"** %this.addr, align 4
  store %"class.std::basic_ostream"** %t, %"class.std::basic_ostream"*** %t.addr, align 4
  %this1 = load %"struct.boost::test_tools::tt_detail::print_helper_t.43"** %this.addr
  %0 = load %"class.std::basic_ostream"*** %t.addr
  call void @_ZN5boost10test_tools9tt_detail14print_helper_tIPSoEC2ERKS3_(%"struct.boost::test_tools::tt_detail::print_helper_t.43"* %this1, %"class.std::basic_ostream"** %0)
  ret void
}

define linkonce_odr void @_ZN5boost10test_tools9tt_detail14print_helper_tIPSoEC2ERKS3_(%"struct.boost::test_tools::tt_detail::print_helper_t.43"* %this, %"class.std::basic_ostream"** %t) unnamed_addr nounwind align 2 {
entry:
  %this.addr = alloca %"struct.boost::test_tools::tt_detail::print_helper_t.43"*, align 4
  %t.addr = alloca %"class.std::basic_ostream"**, align 4
  store %"struct.boost::test_tools::tt_detail::print_helper_t.43"* %this, %"struct.boost::test_tools::tt_detail::print_helper_t.43"** %this.addr, align 4
  store %"class.std::basic_ostream"** %t, %"class.std::basic_ostream"*** %t.addr, align 4
  %this1 = load %"struct.boost::test_tools::tt_detail::print_helper_t.43"** %this.addr
  %0 = getelementptr inbounds %"struct.boost::test_tools::tt_detail::print_helper_t.43"* %this1, i32 0, i32 0
  %1 = load %"class.std::basic_ostream"*** %t.addr, align 4
  store %"class.std::basic_ostream"** %1, %"class.std::basic_ostream"*** %0, align 4
  ret void
}

define linkonce_odr void @_ZN5boost9unit_test17lazy_ostream_implIRKNS_10test_tools9tt_detail14print_helper_tIPSoEEEC1ERKNS0_12lazy_ostreamES8_(%"class.boost::unit_test::lazy_ostream_impl.42"* %this, %"class.boost::unit_test::lazy_ostream"* %prev, %"struct.boost::test_tools::tt_detail::print_helper_t.43"* %value) unnamed_addr align 2 {
entry:
  %this.addr = alloca %"class.boost::unit_test::lazy_ostream_impl.42"*, align 4
  %prev.addr = alloca %"class.boost::unit_test::lazy_ostream"*, align 4
  %value.addr = alloca %"struct.boost::test_tools::tt_detail::print_helper_t.43"*, align 4
  store %"class.boost::unit_test::lazy_ostream_impl.42"* %this, %"class.boost::unit_test::lazy_ostream_impl.42"** %this.addr, align 4
  store %"class.boost::unit_test::lazy_ostream"* %prev, %"class.boost::unit_test::lazy_ostream"** %prev.addr, align 4
  store %"struct.boost::test_tools::tt_detail::print_helper_t.43"* %value, %"struct.boost::test_tools::tt_detail::print_helper_t.43"** %value.addr, align 4
  %this1 = load %"class.boost::unit_test::lazy_ostream_impl.42"** %this.addr
  %0 = load %"class.boost::unit_test::lazy_ostream"** %prev.addr
  %1 = load %"struct.boost::test_tools::tt_detail::print_helper_t.43"** %value.addr
  call void @_ZN5boost9unit_test17lazy_ostream_implIRKNS_10test_tools9tt_detail14print_helper_tIPSoEEEC2ERKNS0_12lazy_ostreamES8_(%"class.boost::unit_test::lazy_ostream_impl.42"* %this1, %"class.boost::unit_test::lazy_ostream"* %0, %"struct.boost::test_tools::tt_detail::print_helper_t.43"* %1)
  ret void
}

define linkonce_odr void @_ZN5boost9unit_test17lazy_ostream_implIRKNS_10test_tools9tt_detail14print_helper_tIPSoEEEC2ERKNS0_12lazy_ostreamES8_(%"class.boost::unit_test::lazy_ostream_impl.42"* %this, %"class.boost::unit_test::lazy_ostream"* %prev, %"struct.boost::test_tools::tt_detail::print_helper_t.43"* %value) unnamed_addr nounwind align 2 {
entry:
  %this.addr = alloca %"class.boost::unit_test::lazy_ostream_impl.42"*, align 4
  %prev.addr = alloca %"class.boost::unit_test::lazy_ostream"*, align 4
  %value.addr = alloca %"struct.boost::test_tools::tt_detail::print_helper_t.43"*, align 4
  store %"class.boost::unit_test::lazy_ostream_impl.42"* %this, %"class.boost::unit_test::lazy_ostream_impl.42"** %this.addr, align 4
  store %"class.boost::unit_test::lazy_ostream"* %prev, %"class.boost::unit_test::lazy_ostream"** %prev.addr, align 4
  store %"struct.boost::test_tools::tt_detail::print_helper_t.43"* %value, %"struct.boost::test_tools::tt_detail::print_helper_t.43"** %value.addr, align 4
  %this1 = load %"class.boost::unit_test::lazy_ostream_impl.42"** %this.addr
  %0 = bitcast %"class.boost::unit_test::lazy_ostream_impl.42"* %this1 to %"class.boost::unit_test::lazy_ostream"*
  call void @_ZN5boost9unit_test12lazy_ostreamC2Eb(%"class.boost::unit_test::lazy_ostream"* %0, i1 zeroext false)
  %1 = bitcast %"class.boost::unit_test::lazy_ostream_impl.42"* %this1 to i8***
  store i8** getelementptr inbounds ([5 x i8*]* @_ZTVN5boost9unit_test17lazy_ostream_implIRKNS_10test_tools9tt_detail14print_helper_tIPSoEEEE, i64 0, i64 2), i8*** %1
  %2 = getelementptr inbounds %"class.boost::unit_test::lazy_ostream_impl.42"* %this1, i32 0, i32 1
  %3 = load %"class.boost::unit_test::lazy_ostream"** %prev.addr, align 4
  store %"class.boost::unit_test::lazy_ostream"* %3, %"class.boost::unit_test::lazy_ostream"** %2, align 4
  %4 = getelementptr inbounds %"class.boost::unit_test::lazy_ostream_impl.42"* %this1, i32 0, i32 2
  %5 = load %"struct.boost::test_tools::tt_detail::print_helper_t.43"** %value.addr, align 4
  store %"struct.boost::test_tools::tt_detail::print_helper_t.43"* %5, %"struct.boost::test_tools::tt_detail::print_helper_t.43"** %4, align 4
  ret void
}

define linkonce_odr %"class.std::basic_ostream"* @_ZNK5boost9unit_test17lazy_ostream_implIRKNS_10test_tools9tt_detail14print_helper_tIPSoEEEclERSo(%"class.boost::unit_test::lazy_ostream_impl.42"* %this, %"class.std::basic_ostream"* %ostr) unnamed_addr align 2 {
entry:
  %this.addr = alloca %"class.boost::unit_test::lazy_ostream_impl.42"*, align 4
  %ostr.addr = alloca %"class.std::basic_ostream"*, align 4
  store %"class.boost::unit_test::lazy_ostream_impl.42"* %this, %"class.boost::unit_test::lazy_ostream_impl.42"** %this.addr, align 4
  store %"class.std::basic_ostream"* %ostr, %"class.std::basic_ostream"** %ostr.addr, align 4
  %this1 = load %"class.boost::unit_test::lazy_ostream_impl.42"** %this.addr
  %m_prev = getelementptr inbounds %"class.boost::unit_test::lazy_ostream_impl.42"* %this1, i32 0, i32 1
  %ref = load %"class.boost::unit_test::lazy_ostream"** %m_prev, align 4
  %0 = bitcast %"class.boost::unit_test::lazy_ostream"* %ref to %"class.std::basic_ostream"* (%"class.boost::unit_test::lazy_ostream"*, %"class.std::basic_ostream"*)***
  %vtable = load %"class.std::basic_ostream"* (%"class.boost::unit_test::lazy_ostream"*, %"class.std::basic_ostream"*)*** %0
  %vfn = getelementptr inbounds %"class.std::basic_ostream"* (%"class.boost::unit_test::lazy_ostream"*, %"class.std::basic_ostream"*)** %vtable, i64 0
  %1 = load %"class.std::basic_ostream"* (%"class.boost::unit_test::lazy_ostream"*, %"class.std::basic_ostream"*)** %vfn
  %2 = load %"class.std::basic_ostream"** %ostr.addr, align 4
  %call = call %"class.std::basic_ostream"* %1(%"class.boost::unit_test::lazy_ostream"* %ref, %"class.std::basic_ostream"* %2)
  %m_value = getelementptr inbounds %"class.boost::unit_test::lazy_ostream_impl.42"* %this1, i32 0, i32 2
  %ref2 = load %"struct.boost::test_tools::tt_detail::print_helper_t.43"** %m_value, align 4
  %call3 = call %"class.std::basic_ostream"* @_ZN5boost10test_tools9tt_detaillsIPSoEERSoS4_RKNS1_14print_helper_tIT_EE(%"class.std::basic_ostream"* %call, %"struct.boost::test_tools::tt_detail::print_helper_t.43"* %ref2)
  ret %"class.std::basic_ostream"* %call3
}

define linkonce_odr void @_ZN5boost9unit_test17lazy_ostream_implIRKNS_10test_tools9tt_detail14print_helper_tIPSoEEED0Ev(%"class.boost::unit_test::lazy_ostream_impl.42"* %this) unnamed_addr inlinehint align 2 {
entry:
  %this.addr = alloca %"class.boost::unit_test::lazy_ostream_impl.42"*, align 4
  %exn.slot = alloca i8*
  %ehselector.slot = alloca i32
  store %"class.boost::unit_test::lazy_ostream_impl.42"* %this, %"class.boost::unit_test::lazy_ostream_impl.42"** %this.addr, align 4
  %this1 = load %"class.boost::unit_test::lazy_ostream_impl.42"** %this.addr
  invoke void @_ZN5boost9unit_test17lazy_ostream_implIRKNS_10test_tools9tt_detail14print_helper_tIPSoEEED1Ev(%"class.boost::unit_test::lazy_ostream_impl.42"* %this1)
          to label %invoke.cont unwind label %lpad

invoke.cont:                                      ; preds = %entry
  %0 = bitcast %"class.boost::unit_test::lazy_ostream_impl.42"* %this1 to i8*
  call void @_ZdlPv(i8* %0) nounwind
  ret void

lpad:                                             ; preds = %entry
  %1 = landingpad { i8*, i32 } personality i8* bitcast (i32 (...)* @__gxx_personality_v0 to i8*)
          cleanup
  %2 = extractvalue { i8*, i32 } %1, 0
  store i8* %2, i8** %exn.slot
  %3 = extractvalue { i8*, i32 } %1, 1
  store i32 %3, i32* %ehselector.slot
  %4 = bitcast %"class.boost::unit_test::lazy_ostream_impl.42"* %this1 to i8*
  call void @_ZdlPv(i8* %4) nounwind
  br label %eh.resume

eh.resume:                                        ; preds = %lpad
  %exn = load i8** %exn.slot
  %sel = load i32* %ehselector.slot
  %lpad.val = insertvalue { i8*, i32 } undef, i8* %exn, 0
  %lpad.val2 = insertvalue { i8*, i32 } %lpad.val, i32 %sel, 1
  resume { i8*, i32 } %lpad.val2
}

define linkonce_odr %"class.std::basic_ostream"* @_ZN5boost10test_tools9tt_detaillsIPSoEERSoS4_RKNS1_14print_helper_tIT_EE(%"class.std::basic_ostream"* %ostr, %"struct.boost::test_tools::tt_detail::print_helper_t.43"* %ph) inlinehint {
entry:
  %ostr.addr = alloca %"class.std::basic_ostream"*, align 4
  %ph.addr = alloca %"struct.boost::test_tools::tt_detail::print_helper_t.43"*, align 4
  %tmp = alloca %"struct.boost::test_tools::print_log_value.44", align 1
  store %"class.std::basic_ostream"* %ostr, %"class.std::basic_ostream"** %ostr.addr, align 4
  store %"struct.boost::test_tools::tt_detail::print_helper_t.43"* %ph, %"struct.boost::test_tools::tt_detail::print_helper_t.43"** %ph.addr, align 4
  %0 = load %"class.std::basic_ostream"** %ostr.addr, align 4
  %1 = load %"struct.boost::test_tools::tt_detail::print_helper_t.43"** %ph.addr, align 4
  %m_t = getelementptr inbounds %"struct.boost::test_tools::tt_detail::print_helper_t.43"* %1, i32 0, i32 0
  %ref = load %"class.std::basic_ostream"*** %m_t, align 4
  call void @_ZN5boost10test_tools15print_log_valueIPSoEclERSoRKS2_(%"struct.boost::test_tools::print_log_value.44"* %tmp, %"class.std::basic_ostream"* %0, %"class.std::basic_ostream"** %ref)
  %2 = load %"class.std::basic_ostream"** %ostr.addr, align 4
  ret %"class.std::basic_ostream"* %2
}

define linkonce_odr void @_ZN5boost10test_tools15print_log_valueIPSoEclERSoRKS2_(%"struct.boost::test_tools::print_log_value.44"* %this, %"class.std::basic_ostream"* %ostr, %"class.std::basic_ostream"** %t) align 2 {
entry:
  %this.addr = alloca %"struct.boost::test_tools::print_log_value.44"*, align 4
  %ostr.addr = alloca %"class.std::basic_ostream"*, align 4
  %t.addr = alloca %"class.std::basic_ostream"**, align 4
  %agg.tmp = alloca %"struct.mpl_::bool_", align 1
  store %"struct.boost::test_tools::print_log_value.44"* %this, %"struct.boost::test_tools::print_log_value.44"** %this.addr, align 4
  store %"class.std::basic_ostream"* %ostr, %"class.std::basic_ostream"** %ostr.addr, align 4
  store %"class.std::basic_ostream"** %t, %"class.std::basic_ostream"*** %t.addr, align 4
  %this1 = load %"struct.boost::test_tools::print_log_value.44"** %this.addr
  %0 = load i8* @_ZN5boost10test_tools12_GLOBAL__N_110dummy_condE, align 1
  %tobool = trunc i8 %0 to i1
  br i1 %tobool, label %if.then, label %if.end

if.then:                                          ; preds = %entry
  br label %if.end

if.end:                                           ; preds = %if.then, %entry
  %1 = load %"class.std::basic_ostream"** %ostr.addr, align 4
  call void @_ZN5boost10test_tools15print_log_valueIPSoE13set_precisionERSoN4mpl_5bool_ILb0EEE(%"struct.boost::test_tools::print_log_value.44"* %this1, %"class.std::basic_ostream"* %1)
  %2 = load %"class.std::basic_ostream"** %ostr.addr, align 4
  %3 = load %"class.std::basic_ostream"*** %t.addr, align 4
  %4 = load %"class.std::basic_ostream"** %3, align 4
  %5 = bitcast %"class.std::basic_ostream"* %4 to i8*
  %call = call %"class.std::basic_ostream"* @_ZNSolsEPKv(%"class.std::basic_ostream"* %2, i8* %5)
  ret void
}

define linkonce_odr void @_ZN5boost10test_tools15print_log_valueIPSoE13set_precisionERSoN4mpl_5bool_ILb0EEE(%"struct.boost::test_tools::print_log_value.44"* %this, %"class.std::basic_ostream"* %ostr) nounwind align 2 {
entry:
  %this.addr = alloca %"struct.boost::test_tools::print_log_value.44"*, align 4
  %ostr.addr = alloca %"class.std::basic_ostream"*, align 4
  %0 = alloca %"struct.mpl_::bool_", align 1
  store %"struct.boost::test_tools::print_log_value.44"* %this, %"struct.boost::test_tools::print_log_value.44"** %this.addr, align 4
  store %"class.std::basic_ostream"* %ostr, %"class.std::basic_ostream"** %ostr.addr, align 4
  %this1 = load %"struct.boost::test_tools::print_log_value.44"** %this.addr
  ret void
}

define linkonce_odr void @_ZNK5boost10test_tools9tt_detail15equal_impl_frwd9call_implIPSoS4_EENS0_16predicate_resultERKT_RKT0_N4mpl_5bool_ILb0EEE(%"class.boost::test_tools::predicate_result"* noalias sret %agg.result, %"struct.boost::test_tools::tt_detail::equal_impl_frwd"* %this, %"class.std::basic_ostream"** %left, %"class.std::basic_ostream"** %right) inlinehint align 2 {
entry:
  %this.addr = alloca %"struct.boost::test_tools::tt_detail::equal_impl_frwd"*, align 4
  %left.addr = alloca %"class.std::basic_ostream"**, align 4
  %right.addr = alloca %"class.std::basic_ostream"**, align 4
  %0 = alloca %"struct.mpl_::bool_", align 1
  store %"struct.boost::test_tools::tt_detail::equal_impl_frwd"* %this, %"struct.boost::test_tools::tt_detail::equal_impl_frwd"** %this.addr, align 4
  store %"class.std::basic_ostream"** %left, %"class.std::basic_ostream"*** %left.addr, align 4
  store %"class.std::basic_ostream"** %right, %"class.std::basic_ostream"*** %right.addr, align 4
  %this1 = load %"struct.boost::test_tools::tt_detail::equal_impl_frwd"** %this.addr
  %1 = load %"class.std::basic_ostream"*** %left.addr, align 4
  %2 = load %"class.std::basic_ostream"*** %right.addr, align 4
  call void @_ZN5boost10test_tools9tt_detail10equal_implIPSoS3_EENS0_16predicate_resultERKT_RKT0_(%"class.boost::test_tools::predicate_result"* sret %agg.result, %"class.std::basic_ostream"** %1, %"class.std::basic_ostream"** %2)
  ret void
}

define linkonce_odr void @_ZN5boost10test_tools9tt_detail10equal_implIPSoS3_EENS0_16predicate_resultERKT_RKT0_(%"class.boost::test_tools::predicate_result"* noalias sret %agg.result, %"class.std::basic_ostream"** %left, %"class.std::basic_ostream"** %right) {
entry:
  %left.addr = alloca %"class.std::basic_ostream"**, align 4
  %right.addr = alloca %"class.std::basic_ostream"**, align 4
  store %"class.std::basic_ostream"** %left, %"class.std::basic_ostream"*** %left.addr, align 4
  store %"class.std::basic_ostream"** %right, %"class.std::basic_ostream"*** %right.addr, align 4
  %0 = load %"class.std::basic_ostream"*** %left.addr, align 4
  %1 = load %"class.std::basic_ostream"** %0, align 4
  %2 = load %"class.std::basic_ostream"*** %right.addr, align 4
  %3 = load %"class.std::basic_ostream"** %2, align 4
  %cmp = icmp eq %"class.std::basic_ostream"* %1, %3
  call void @_ZN5boost10test_tools16predicate_resultC1Eb(%"class.boost::test_tools::predicate_result"* %agg.result, i1 zeroext %cmp)
  ret void
}

define linkonce_odr void @_ZN5boost2io19basic_ios_tie_saverIcSt11char_traitsIcEED2Ev(%"class.boost::io::basic_ios_tie_saver"* %this) unnamed_addr align 2 {
entry:
  %this.addr = alloca %"class.boost::io::basic_ios_tie_saver"*, align 4
  store %"class.boost::io::basic_ios_tie_saver"* %this, %"class.boost::io::basic_ios_tie_saver"** %this.addr, align 4
  %this1 = load %"class.boost::io::basic_ios_tie_saver"** %this.addr
  call void @_ZN5boost2io19basic_ios_tie_saverIcSt11char_traitsIcEE7restoreEv(%"class.boost::io::basic_ios_tie_saver"* %this1)
  ret void
}

define linkonce_odr void @_ZN5boost2io19basic_ios_tie_saverIcSt11char_traitsIcEE7restoreEv(%"class.boost::io::basic_ios_tie_saver"* %this) align 2 {
entry:
  %this.addr = alloca %"class.boost::io::basic_ios_tie_saver"*, align 4
  store %"class.boost::io::basic_ios_tie_saver"* %this, %"class.boost::io::basic_ios_tie_saver"** %this.addr, align 4
  %this1 = load %"class.boost::io::basic_ios_tie_saver"** %this.addr
  %s_save_ = getelementptr inbounds %"class.boost::io::basic_ios_tie_saver"* %this1, i32 0, i32 0
  %ref = load %"class.std::basic_ios"** %s_save_, align 4
  %a_save_ = getelementptr inbounds %"class.boost::io::basic_ios_tie_saver"* %this1, i32 0, i32 1
  %0 = load %"class.std::basic_ostream"** %a_save_, align 4
  %call = call %"class.std::basic_ostream"* @_ZNSt9basic_iosIcSt11char_traitsIcEE3tieEPSo(%"class.std::basic_ios"* %ref, %"class.std::basic_ostream"* %0)
  ret void
}

define linkonce_odr void @_ZN5boost2io19basic_ios_tie_saverIcSt11char_traitsIcEEC2ERSt9basic_iosIcS3_E(%"class.boost::io::basic_ios_tie_saver"* %this, %"class.std::basic_ios"* %s) unnamed_addr align 2 {
entry:
  %this.addr = alloca %"class.boost::io::basic_ios_tie_saver"*, align 4
  %s.addr = alloca %"class.std::basic_ios"*, align 4
  store %"class.boost::io::basic_ios_tie_saver"* %this, %"class.boost::io::basic_ios_tie_saver"** %this.addr, align 4
  store %"class.std::basic_ios"* %s, %"class.std::basic_ios"** %s.addr, align 4
  %this1 = load %"class.boost::io::basic_ios_tie_saver"** %this.addr
  %0 = getelementptr inbounds %"class.boost::io::basic_ios_tie_saver"* %this1, i32 0, i32 0
  %1 = load %"class.std::basic_ios"** %s.addr, align 4
  store %"class.std::basic_ios"* %1, %"class.std::basic_ios"** %0, align 4
  %a_save_ = getelementptr inbounds %"class.boost::io::basic_ios_tie_saver"* %this1, i32 0, i32 1
  %2 = load %"class.std::basic_ios"** %s.addr, align 4
  %call = call %"class.std::basic_ostream"* @_ZNKSt9basic_iosIcSt11char_traitsIcEE3tieEv(%"class.std::basic_ios"* %2)
  store %"class.std::basic_ostream"* %call, %"class.std::basic_ostream"** %a_save_, align 4
  ret void
}

define linkonce_odr void @_ZN5boost9unit_test17lazy_ostream_implIRA28_KcEC1ERKNS0_12lazy_ostreamES4_(%"class.boost::unit_test::lazy_ostream_impl.4"* %this, %"class.boost::unit_test::lazy_ostream"* %prev, [28 x i8]* %value) unnamed_addr align 2 {
entry:
  %this.addr = alloca %"class.boost::unit_test::lazy_ostream_impl.4"*, align 4
  %prev.addr = alloca %"class.boost::unit_test::lazy_ostream"*, align 4
  %value.addr = alloca [28 x i8]*, align 4
  store %"class.boost::unit_test::lazy_ostream_impl.4"* %this, %"class.boost::unit_test::lazy_ostream_impl.4"** %this.addr, align 4
  store %"class.boost::unit_test::lazy_ostream"* %prev, %"class.boost::unit_test::lazy_ostream"** %prev.addr, align 4
  store [28 x i8]* %value, [28 x i8]** %value.addr, align 4
  %this1 = load %"class.boost::unit_test::lazy_ostream_impl.4"** %this.addr
  %0 = load %"class.boost::unit_test::lazy_ostream"** %prev.addr
  %1 = load [28 x i8]** %value.addr
  call void @_ZN5boost9unit_test17lazy_ostream_implIRA28_KcEC2ERKNS0_12lazy_ostreamES4_(%"class.boost::unit_test::lazy_ostream_impl.4"* %this1, %"class.boost::unit_test::lazy_ostream"* %0, [28 x i8]* %1)
  ret void
}

define linkonce_odr void @_ZN5boost9unit_test17lazy_ostream_implIRA28_KcEC2ERKNS0_12lazy_ostreamES4_(%"class.boost::unit_test::lazy_ostream_impl.4"* %this, %"class.boost::unit_test::lazy_ostream"* %prev, [28 x i8]* %value) unnamed_addr nounwind align 2 {
entry:
  %this.addr = alloca %"class.boost::unit_test::lazy_ostream_impl.4"*, align 4
  %prev.addr = alloca %"class.boost::unit_test::lazy_ostream"*, align 4
  %value.addr = alloca [28 x i8]*, align 4
  store %"class.boost::unit_test::lazy_ostream_impl.4"* %this, %"class.boost::unit_test::lazy_ostream_impl.4"** %this.addr, align 4
  store %"class.boost::unit_test::lazy_ostream"* %prev, %"class.boost::unit_test::lazy_ostream"** %prev.addr, align 4
  store [28 x i8]* %value, [28 x i8]** %value.addr, align 4
  %this1 = load %"class.boost::unit_test::lazy_ostream_impl.4"** %this.addr
  %0 = bitcast %"class.boost::unit_test::lazy_ostream_impl.4"* %this1 to %"class.boost::unit_test::lazy_ostream"*
  call void @_ZN5boost9unit_test12lazy_ostreamC2Eb(%"class.boost::unit_test::lazy_ostream"* %0, i1 zeroext false)
  %1 = bitcast %"class.boost::unit_test::lazy_ostream_impl.4"* %this1 to i8***
  store i8** getelementptr inbounds ([5 x i8*]* @_ZTVN5boost9unit_test17lazy_ostream_implIRA28_KcEE, i64 0, i64 2), i8*** %1
  %2 = getelementptr inbounds %"class.boost::unit_test::lazy_ostream_impl.4"* %this1, i32 0, i32 1
  %3 = load %"class.boost::unit_test::lazy_ostream"** %prev.addr, align 4
  store %"class.boost::unit_test::lazy_ostream"* %3, %"class.boost::unit_test::lazy_ostream"** %2, align 4
  %4 = getelementptr inbounds %"class.boost::unit_test::lazy_ostream_impl.4"* %this1, i32 0, i32 2
  %5 = load [28 x i8]** %value.addr, align 4
  store [28 x i8]* %5, [28 x i8]** %4, align 4
  ret void
}

define linkonce_odr %"class.std::basic_ostream"* @_ZNK5boost9unit_test17lazy_ostream_implIRA28_KcEclERSo(%"class.boost::unit_test::lazy_ostream_impl.4"* %this, %"class.std::basic_ostream"* %ostr) unnamed_addr align 2 {
entry:
  %this.addr = alloca %"class.boost::unit_test::lazy_ostream_impl.4"*, align 4
  %ostr.addr = alloca %"class.std::basic_ostream"*, align 4
  store %"class.boost::unit_test::lazy_ostream_impl.4"* %this, %"class.boost::unit_test::lazy_ostream_impl.4"** %this.addr, align 4
  store %"class.std::basic_ostream"* %ostr, %"class.std::basic_ostream"** %ostr.addr, align 4
  %this1 = load %"class.boost::unit_test::lazy_ostream_impl.4"** %this.addr
  %m_prev = getelementptr inbounds %"class.boost::unit_test::lazy_ostream_impl.4"* %this1, i32 0, i32 1
  %ref = load %"class.boost::unit_test::lazy_ostream"** %m_prev, align 4
  %0 = bitcast %"class.boost::unit_test::lazy_ostream"* %ref to %"class.std::basic_ostream"* (%"class.boost::unit_test::lazy_ostream"*, %"class.std::basic_ostream"*)***
  %vtable = load %"class.std::basic_ostream"* (%"class.boost::unit_test::lazy_ostream"*, %"class.std::basic_ostream"*)*** %0
  %vfn = getelementptr inbounds %"class.std::basic_ostream"* (%"class.boost::unit_test::lazy_ostream"*, %"class.std::basic_ostream"*)** %vtable, i64 0
  %1 = load %"class.std::basic_ostream"* (%"class.boost::unit_test::lazy_ostream"*, %"class.std::basic_ostream"*)** %vfn
  %2 = load %"class.std::basic_ostream"** %ostr.addr, align 4
  %call = call %"class.std::basic_ostream"* %1(%"class.boost::unit_test::lazy_ostream"* %ref, %"class.std::basic_ostream"* %2)
  %m_value = getelementptr inbounds %"class.boost::unit_test::lazy_ostream_impl.4"* %this1, i32 0, i32 2
  %ref2 = load [28 x i8]** %m_value, align 4
  %arraydecay = getelementptr inbounds [28 x i8]* %ref2, i32 0, i32 0
  %call3 = call %"class.std::basic_ostream"* @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(%"class.std::basic_ostream"* %call, i8* %arraydecay)
  ret %"class.std::basic_ostream"* %call3
}

define linkonce_odr void @_ZN5boost9unit_test17lazy_ostream_implIRA28_KcED0Ev(%"class.boost::unit_test::lazy_ostream_impl.4"* %this) unnamed_addr inlinehint align 2 {
entry:
  %this.addr = alloca %"class.boost::unit_test::lazy_ostream_impl.4"*, align 4
  %exn.slot = alloca i8*
  %ehselector.slot = alloca i32
  store %"class.boost::unit_test::lazy_ostream_impl.4"* %this, %"class.boost::unit_test::lazy_ostream_impl.4"** %this.addr, align 4
  %this1 = load %"class.boost::unit_test::lazy_ostream_impl.4"** %this.addr
  invoke void @_ZN5boost9unit_test17lazy_ostream_implIRA28_KcED1Ev(%"class.boost::unit_test::lazy_ostream_impl.4"* %this1)
          to label %invoke.cont unwind label %lpad

invoke.cont:                                      ; preds = %entry
  %0 = bitcast %"class.boost::unit_test::lazy_ostream_impl.4"* %this1 to i8*
  call void @_ZdlPv(i8* %0) nounwind
  ret void

lpad:                                             ; preds = %entry
  %1 = landingpad { i8*, i32 } personality i8* bitcast (i32 (...)* @__gxx_personality_v0 to i8*)
          cleanup
  %2 = extractvalue { i8*, i32 } %1, 0
  store i8* %2, i8** %exn.slot
  %3 = extractvalue { i8*, i32 } %1, 1
  store i32 %3, i32* %ehselector.slot
  %4 = bitcast %"class.boost::unit_test::lazy_ostream_impl.4"* %this1 to i8*
  call void @_ZdlPv(i8* %4) nounwind
  br label %eh.resume

eh.resume:                                        ; preds = %lpad
  %exn = load i8** %exn.slot
  %sel = load i32* %ehselector.slot
  %lpad.val = insertvalue { i8*, i32 } undef, i8* %exn, 0
  %lpad.val2 = insertvalue { i8*, i32 } %lpad.val, i32 %sel, 1
  resume { i8*, i32 } %lpad.val2
}

declare %"class.std::basic_ostream"* @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(%"class.std::basic_ostream"*, i8*)

define linkonce_odr void @_ZN5boost9unit_test17lazy_ostream_implIRA32_KcEC1ERKNS0_12lazy_ostreamES4_(%"class.boost::unit_test::lazy_ostream_impl.3"* %this, %"class.boost::unit_test::lazy_ostream"* %prev, [32 x i8]* %value) unnamed_addr align 2 {
entry:
  %this.addr = alloca %"class.boost::unit_test::lazy_ostream_impl.3"*, align 4
  %prev.addr = alloca %"class.boost::unit_test::lazy_ostream"*, align 4
  %value.addr = alloca [32 x i8]*, align 4
  store %"class.boost::unit_test::lazy_ostream_impl.3"* %this, %"class.boost::unit_test::lazy_ostream_impl.3"** %this.addr, align 4
  store %"class.boost::unit_test::lazy_ostream"* %prev, %"class.boost::unit_test::lazy_ostream"** %prev.addr, align 4
  store [32 x i8]* %value, [32 x i8]** %value.addr, align 4
  %this1 = load %"class.boost::unit_test::lazy_ostream_impl.3"** %this.addr
  %0 = load %"class.boost::unit_test::lazy_ostream"** %prev.addr
  %1 = load [32 x i8]** %value.addr
  call void @_ZN5boost9unit_test17lazy_ostream_implIRA32_KcEC2ERKNS0_12lazy_ostreamES4_(%"class.boost::unit_test::lazy_ostream_impl.3"* %this1, %"class.boost::unit_test::lazy_ostream"* %0, [32 x i8]* %1)
  ret void
}

define linkonce_odr void @_ZN5boost9unit_test17lazy_ostream_implIRA32_KcEC2ERKNS0_12lazy_ostreamES4_(%"class.boost::unit_test::lazy_ostream_impl.3"* %this, %"class.boost::unit_test::lazy_ostream"* %prev, [32 x i8]* %value) unnamed_addr nounwind align 2 {
entry:
  %this.addr = alloca %"class.boost::unit_test::lazy_ostream_impl.3"*, align 4
  %prev.addr = alloca %"class.boost::unit_test::lazy_ostream"*, align 4
  %value.addr = alloca [32 x i8]*, align 4
  store %"class.boost::unit_test::lazy_ostream_impl.3"* %this, %"class.boost::unit_test::lazy_ostream_impl.3"** %this.addr, align 4
  store %"class.boost::unit_test::lazy_ostream"* %prev, %"class.boost::unit_test::lazy_ostream"** %prev.addr, align 4
  store [32 x i8]* %value, [32 x i8]** %value.addr, align 4
  %this1 = load %"class.boost::unit_test::lazy_ostream_impl.3"** %this.addr
  %0 = bitcast %"class.boost::unit_test::lazy_ostream_impl.3"* %this1 to %"class.boost::unit_test::lazy_ostream"*
  call void @_ZN5boost9unit_test12lazy_ostreamC2Eb(%"class.boost::unit_test::lazy_ostream"* %0, i1 zeroext false)
  %1 = bitcast %"class.boost::unit_test::lazy_ostream_impl.3"* %this1 to i8***
  store i8** getelementptr inbounds ([5 x i8*]* @_ZTVN5boost9unit_test17lazy_ostream_implIRA32_KcEE, i64 0, i64 2), i8*** %1
  %2 = getelementptr inbounds %"class.boost::unit_test::lazy_ostream_impl.3"* %this1, i32 0, i32 1
  %3 = load %"class.boost::unit_test::lazy_ostream"** %prev.addr, align 4
  store %"class.boost::unit_test::lazy_ostream"* %3, %"class.boost::unit_test::lazy_ostream"** %2, align 4
  %4 = getelementptr inbounds %"class.boost::unit_test::lazy_ostream_impl.3"* %this1, i32 0, i32 2
  %5 = load [32 x i8]** %value.addr, align 4
  store [32 x i8]* %5, [32 x i8]** %4, align 4
  ret void
}

define linkonce_odr %"class.std::basic_ostream"* @_ZNK5boost9unit_test17lazy_ostream_implIRA32_KcEclERSo(%"class.boost::unit_test::lazy_ostream_impl.3"* %this, %"class.std::basic_ostream"* %ostr) unnamed_addr align 2 {
entry:
  %this.addr = alloca %"class.boost::unit_test::lazy_ostream_impl.3"*, align 4
  %ostr.addr = alloca %"class.std::basic_ostream"*, align 4
  store %"class.boost::unit_test::lazy_ostream_impl.3"* %this, %"class.boost::unit_test::lazy_ostream_impl.3"** %this.addr, align 4
  store %"class.std::basic_ostream"* %ostr, %"class.std::basic_ostream"** %ostr.addr, align 4
  %this1 = load %"class.boost::unit_test::lazy_ostream_impl.3"** %this.addr
  %m_prev = getelementptr inbounds %"class.boost::unit_test::lazy_ostream_impl.3"* %this1, i32 0, i32 1
  %ref = load %"class.boost::unit_test::lazy_ostream"** %m_prev, align 4
  %0 = bitcast %"class.boost::unit_test::lazy_ostream"* %ref to %"class.std::basic_ostream"* (%"class.boost::unit_test::lazy_ostream"*, %"class.std::basic_ostream"*)***
  %vtable = load %"class.std::basic_ostream"* (%"class.boost::unit_test::lazy_ostream"*, %"class.std::basic_ostream"*)*** %0
  %vfn = getelementptr inbounds %"class.std::basic_ostream"* (%"class.boost::unit_test::lazy_ostream"*, %"class.std::basic_ostream"*)** %vtable, i64 0
  %1 = load %"class.std::basic_ostream"* (%"class.boost::unit_test::lazy_ostream"*, %"class.std::basic_ostream"*)** %vfn
  %2 = load %"class.std::basic_ostream"** %ostr.addr, align 4
  %call = call %"class.std::basic_ostream"* %1(%"class.boost::unit_test::lazy_ostream"* %ref, %"class.std::basic_ostream"* %2)
  %m_value = getelementptr inbounds %"class.boost::unit_test::lazy_ostream_impl.3"* %this1, i32 0, i32 2
  %ref2 = load [32 x i8]** %m_value, align 4
  %arraydecay = getelementptr inbounds [32 x i8]* %ref2, i32 0, i32 0
  %call3 = call %"class.std::basic_ostream"* @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(%"class.std::basic_ostream"* %call, i8* %arraydecay)
  ret %"class.std::basic_ostream"* %call3
}

define linkonce_odr void @_ZN5boost9unit_test17lazy_ostream_implIRA32_KcED0Ev(%"class.boost::unit_test::lazy_ostream_impl.3"* %this) unnamed_addr inlinehint align 2 {
entry:
  %this.addr = alloca %"class.boost::unit_test::lazy_ostream_impl.3"*, align 4
  %exn.slot = alloca i8*
  %ehselector.slot = alloca i32
  store %"class.boost::unit_test::lazy_ostream_impl.3"* %this, %"class.boost::unit_test::lazy_ostream_impl.3"** %this.addr, align 4
  %this1 = load %"class.boost::unit_test::lazy_ostream_impl.3"** %this.addr
  invoke void @_ZN5boost9unit_test17lazy_ostream_implIRA32_KcED1Ev(%"class.boost::unit_test::lazy_ostream_impl.3"* %this1)
          to label %invoke.cont unwind label %lpad

invoke.cont:                                      ; preds = %entry
  %0 = bitcast %"class.boost::unit_test::lazy_ostream_impl.3"* %this1 to i8*
  call void @_ZdlPv(i8* %0) nounwind
  ret void

lpad:                                             ; preds = %entry
  %1 = landingpad { i8*, i32 } personality i8* bitcast (i32 (...)* @__gxx_personality_v0 to i8*)
          cleanup
  %2 = extractvalue { i8*, i32 } %1, 0
  store i8* %2, i8** %exn.slot
  %3 = extractvalue { i8*, i32 } %1, 1
  store i32 %3, i32* %ehselector.slot
  %4 = bitcast %"class.boost::unit_test::lazy_ostream_impl.3"* %this1 to i8*
  call void @_ZdlPv(i8* %4) nounwind
  br label %eh.resume

eh.resume:                                        ; preds = %lpad
  %exn = load i8** %exn.slot
  %sel = load i32* %ehselector.slot
  %lpad.val = insertvalue { i8*, i32 } undef, i8* %exn, 0
  %lpad.val2 = insertvalue { i8*, i32 } %lpad.val, i32 %sel, 1
  resume { i8*, i32 } %lpad.val2
}

define linkonce_odr void @_ZN5boost2io25basic_ios_exception_saverIcSt11char_traitsIcEEC2ERSt9basic_iosIcS3_ERKSt12_Ios_Iostate(%"class.boost::io::basic_ios_exception_saver"* %this, %"class.std::basic_ios"* %s, i32* %a) unnamed_addr align 2 {
entry:
  %this.addr = alloca %"class.boost::io::basic_ios_exception_saver"*, align 4
  %s.addr = alloca %"class.std::basic_ios"*, align 4
  %a.addr = alloca i32*, align 4
  store %"class.boost::io::basic_ios_exception_saver"* %this, %"class.boost::io::basic_ios_exception_saver"** %this.addr, align 4
  store %"class.std::basic_ios"* %s, %"class.std::basic_ios"** %s.addr, align 4
  store i32* %a, i32** %a.addr, align 4
  %this1 = load %"class.boost::io::basic_ios_exception_saver"** %this.addr
  %0 = getelementptr inbounds %"class.boost::io::basic_ios_exception_saver"* %this1, i32 0, i32 0
  %1 = load %"class.std::basic_ios"** %s.addr, align 4
  store %"class.std::basic_ios"* %1, %"class.std::basic_ios"** %0, align 4
  %a_save_ = getelementptr inbounds %"class.boost::io::basic_ios_exception_saver"* %this1, i32 0, i32 1
  %2 = load %"class.std::basic_ios"** %s.addr, align 4
  %call = call i32 @_ZNKSt9basic_iosIcSt11char_traitsIcEE10exceptionsEv(%"class.std::basic_ios"* %2)
  store i32 %call, i32* %a_save_, align 4
  %3 = load %"class.std::basic_ios"** %s.addr, align 4
  %4 = load i32** %a.addr, align 4
  %5 = load i32* %4, align 4
  call void @_ZNSt9basic_iosIcSt11char_traitsIcEE10exceptionsESt12_Ios_Iostate(%"class.std::basic_ios"* %3, i32 %5)
  ret void
}

define linkonce_odr void @_ZN5boost9unit_test17lazy_ostream_implIRA43_KcEC1ERKNS0_12lazy_ostreamES4_(%"class.boost::unit_test::lazy_ostream_impl.2"* %this, %"class.boost::unit_test::lazy_ostream"* %prev, [43 x i8]* %value) unnamed_addr align 2 {
entry:
  %this.addr = alloca %"class.boost::unit_test::lazy_ostream_impl.2"*, align 4
  %prev.addr = alloca %"class.boost::unit_test::lazy_ostream"*, align 4
  %value.addr = alloca [43 x i8]*, align 4
  store %"class.boost::unit_test::lazy_ostream_impl.2"* %this, %"class.boost::unit_test::lazy_ostream_impl.2"** %this.addr, align 4
  store %"class.boost::unit_test::lazy_ostream"* %prev, %"class.boost::unit_test::lazy_ostream"** %prev.addr, align 4
  store [43 x i8]* %value, [43 x i8]** %value.addr, align 4
  %this1 = load %"class.boost::unit_test::lazy_ostream_impl.2"** %this.addr
  %0 = load %"class.boost::unit_test::lazy_ostream"** %prev.addr
  %1 = load [43 x i8]** %value.addr
  call void @_ZN5boost9unit_test17lazy_ostream_implIRA43_KcEC2ERKNS0_12lazy_ostreamES4_(%"class.boost::unit_test::lazy_ostream_impl.2"* %this1, %"class.boost::unit_test::lazy_ostream"* %0, [43 x i8]* %1)
  ret void
}

define linkonce_odr void @_ZN5boost9unit_test17lazy_ostream_implIRA43_KcEC2ERKNS0_12lazy_ostreamES4_(%"class.boost::unit_test::lazy_ostream_impl.2"* %this, %"class.boost::unit_test::lazy_ostream"* %prev, [43 x i8]* %value) unnamed_addr nounwind align 2 {
entry:
  %this.addr = alloca %"class.boost::unit_test::lazy_ostream_impl.2"*, align 4
  %prev.addr = alloca %"class.boost::unit_test::lazy_ostream"*, align 4
  %value.addr = alloca [43 x i8]*, align 4
  store %"class.boost::unit_test::lazy_ostream_impl.2"* %this, %"class.boost::unit_test::lazy_ostream_impl.2"** %this.addr, align 4
  store %"class.boost::unit_test::lazy_ostream"* %prev, %"class.boost::unit_test::lazy_ostream"** %prev.addr, align 4
  store [43 x i8]* %value, [43 x i8]** %value.addr, align 4
  %this1 = load %"class.boost::unit_test::lazy_ostream_impl.2"** %this.addr
  %0 = bitcast %"class.boost::unit_test::lazy_ostream_impl.2"* %this1 to %"class.boost::unit_test::lazy_ostream"*
  call void @_ZN5boost9unit_test12lazy_ostreamC2Eb(%"class.boost::unit_test::lazy_ostream"* %0, i1 zeroext false)
  %1 = bitcast %"class.boost::unit_test::lazy_ostream_impl.2"* %this1 to i8***
  store i8** getelementptr inbounds ([5 x i8*]* @_ZTVN5boost9unit_test17lazy_ostream_implIRA43_KcEE, i64 0, i64 2), i8*** %1
  %2 = getelementptr inbounds %"class.boost::unit_test::lazy_ostream_impl.2"* %this1, i32 0, i32 1
  %3 = load %"class.boost::unit_test::lazy_ostream"** %prev.addr, align 4
  store %"class.boost::unit_test::lazy_ostream"* %3, %"class.boost::unit_test::lazy_ostream"** %2, align 4
  %4 = getelementptr inbounds %"class.boost::unit_test::lazy_ostream_impl.2"* %this1, i32 0, i32 2
  %5 = load [43 x i8]** %value.addr, align 4
  store [43 x i8]* %5, [43 x i8]** %4, align 4
  ret void
}

define linkonce_odr %"class.std::basic_ostream"* @_ZNK5boost9unit_test17lazy_ostream_implIRA43_KcEclERSo(%"class.boost::unit_test::lazy_ostream_impl.2"* %this, %"class.std::basic_ostream"* %ostr) unnamed_addr align 2 {
entry:
  %this.addr = alloca %"class.boost::unit_test::lazy_ostream_impl.2"*, align 4
  %ostr.addr = alloca %"class.std::basic_ostream"*, align 4
  store %"class.boost::unit_test::lazy_ostream_impl.2"* %this, %"class.boost::unit_test::lazy_ostream_impl.2"** %this.addr, align 4
  store %"class.std::basic_ostream"* %ostr, %"class.std::basic_ostream"** %ostr.addr, align 4
  %this1 = load %"class.boost::unit_test::lazy_ostream_impl.2"** %this.addr
  %m_prev = getelementptr inbounds %"class.boost::unit_test::lazy_ostream_impl.2"* %this1, i32 0, i32 1
  %ref = load %"class.boost::unit_test::lazy_ostream"** %m_prev, align 4
  %0 = bitcast %"class.boost::unit_test::lazy_ostream"* %ref to %"class.std::basic_ostream"* (%"class.boost::unit_test::lazy_ostream"*, %"class.std::basic_ostream"*)***
  %vtable = load %"class.std::basic_ostream"* (%"class.boost::unit_test::lazy_ostream"*, %"class.std::basic_ostream"*)*** %0
  %vfn = getelementptr inbounds %"class.std::basic_ostream"* (%"class.boost::unit_test::lazy_ostream"*, %"class.std::basic_ostream"*)** %vtable, i64 0
  %1 = load %"class.std::basic_ostream"* (%"class.boost::unit_test::lazy_ostream"*, %"class.std::basic_ostream"*)** %vfn
  %2 = load %"class.std::basic_ostream"** %ostr.addr, align 4
  %call = call %"class.std::basic_ostream"* %1(%"class.boost::unit_test::lazy_ostream"* %ref, %"class.std::basic_ostream"* %2)
  %m_value = getelementptr inbounds %"class.boost::unit_test::lazy_ostream_impl.2"* %this1, i32 0, i32 2
  %ref2 = load [43 x i8]** %m_value, align 4
  %arraydecay = getelementptr inbounds [43 x i8]* %ref2, i32 0, i32 0
  %call3 = call %"class.std::basic_ostream"* @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(%"class.std::basic_ostream"* %call, i8* %arraydecay)
  ret %"class.std::basic_ostream"* %call3
}

define linkonce_odr void @_ZN5boost9unit_test17lazy_ostream_implIRA43_KcED0Ev(%"class.boost::unit_test::lazy_ostream_impl.2"* %this) unnamed_addr inlinehint align 2 {
entry:
  %this.addr = alloca %"class.boost::unit_test::lazy_ostream_impl.2"*, align 4
  %exn.slot = alloca i8*
  %ehselector.slot = alloca i32
  store %"class.boost::unit_test::lazy_ostream_impl.2"* %this, %"class.boost::unit_test::lazy_ostream_impl.2"** %this.addr, align 4
  %this1 = load %"class.boost::unit_test::lazy_ostream_impl.2"** %this.addr
  invoke void @_ZN5boost9unit_test17lazy_ostream_implIRA43_KcED1Ev(%"class.boost::unit_test::lazy_ostream_impl.2"* %this1)
          to label %invoke.cont unwind label %lpad

invoke.cont:                                      ; preds = %entry
  %0 = bitcast %"class.boost::unit_test::lazy_ostream_impl.2"* %this1 to i8*
  call void @_ZdlPv(i8* %0) nounwind
  ret void

lpad:                                             ; preds = %entry
  %1 = landingpad { i8*, i32 } personality i8* bitcast (i32 (...)* @__gxx_personality_v0 to i8*)
          cleanup
  %2 = extractvalue { i8*, i32 } %1, 0
  store i8* %2, i8** %exn.slot
  %3 = extractvalue { i8*, i32 } %1, 1
  store i32 %3, i32* %ehselector.slot
  %4 = bitcast %"class.boost::unit_test::lazy_ostream_impl.2"* %this1 to i8*
  call void @_ZdlPv(i8* %4) nounwind
  br label %eh.resume

eh.resume:                                        ; preds = %lpad
  %exn = load i8** %exn.slot
  %sel = load i32* %ehselector.slot
  %lpad.val = insertvalue { i8*, i32 } undef, i8* %exn, 0
  %lpad.val2 = insertvalue { i8*, i32 } %lpad.val, i32 %sel, 1
  resume { i8*, i32 } %lpad.val2
}

define linkonce_odr void @_ZN5boost9unit_test17lazy_ostream_implIRA45_KcEC1ERKNS0_12lazy_ostreamES4_(%"class.boost::unit_test::lazy_ostream_impl.1"* %this, %"class.boost::unit_test::lazy_ostream"* %prev, [45 x i8]* %value) unnamed_addr align 2 {
entry:
  %this.addr = alloca %"class.boost::unit_test::lazy_ostream_impl.1"*, align 4
  %prev.addr = alloca %"class.boost::unit_test::lazy_ostream"*, align 4
  %value.addr = alloca [45 x i8]*, align 4
  store %"class.boost::unit_test::lazy_ostream_impl.1"* %this, %"class.boost::unit_test::lazy_ostream_impl.1"** %this.addr, align 4
  store %"class.boost::unit_test::lazy_ostream"* %prev, %"class.boost::unit_test::lazy_ostream"** %prev.addr, align 4
  store [45 x i8]* %value, [45 x i8]** %value.addr, align 4
  %this1 = load %"class.boost::unit_test::lazy_ostream_impl.1"** %this.addr
  %0 = load %"class.boost::unit_test::lazy_ostream"** %prev.addr
  %1 = load [45 x i8]** %value.addr
  call void @_ZN5boost9unit_test17lazy_ostream_implIRA45_KcEC2ERKNS0_12lazy_ostreamES4_(%"class.boost::unit_test::lazy_ostream_impl.1"* %this1, %"class.boost::unit_test::lazy_ostream"* %0, [45 x i8]* %1)
  ret void
}

define linkonce_odr void @_ZN5boost9unit_test17lazy_ostream_implIRA45_KcEC2ERKNS0_12lazy_ostreamES4_(%"class.boost::unit_test::lazy_ostream_impl.1"* %this, %"class.boost::unit_test::lazy_ostream"* %prev, [45 x i8]* %value) unnamed_addr nounwind align 2 {
entry:
  %this.addr = alloca %"class.boost::unit_test::lazy_ostream_impl.1"*, align 4
  %prev.addr = alloca %"class.boost::unit_test::lazy_ostream"*, align 4
  %value.addr = alloca [45 x i8]*, align 4
  store %"class.boost::unit_test::lazy_ostream_impl.1"* %this, %"class.boost::unit_test::lazy_ostream_impl.1"** %this.addr, align 4
  store %"class.boost::unit_test::lazy_ostream"* %prev, %"class.boost::unit_test::lazy_ostream"** %prev.addr, align 4
  store [45 x i8]* %value, [45 x i8]** %value.addr, align 4
  %this1 = load %"class.boost::unit_test::lazy_ostream_impl.1"** %this.addr
  %0 = bitcast %"class.boost::unit_test::lazy_ostream_impl.1"* %this1 to %"class.boost::unit_test::lazy_ostream"*
  call void @_ZN5boost9unit_test12lazy_ostreamC2Eb(%"class.boost::unit_test::lazy_ostream"* %0, i1 zeroext false)
  %1 = bitcast %"class.boost::unit_test::lazy_ostream_impl.1"* %this1 to i8***
  store i8** getelementptr inbounds ([5 x i8*]* @_ZTVN5boost9unit_test17lazy_ostream_implIRA45_KcEE, i64 0, i64 2), i8*** %1
  %2 = getelementptr inbounds %"class.boost::unit_test::lazy_ostream_impl.1"* %this1, i32 0, i32 1
  %3 = load %"class.boost::unit_test::lazy_ostream"** %prev.addr, align 4
  store %"class.boost::unit_test::lazy_ostream"* %3, %"class.boost::unit_test::lazy_ostream"** %2, align 4
  %4 = getelementptr inbounds %"class.boost::unit_test::lazy_ostream_impl.1"* %this1, i32 0, i32 2
  %5 = load [45 x i8]** %value.addr, align 4
  store [45 x i8]* %5, [45 x i8]** %4, align 4
  ret void
}

define linkonce_odr %"class.std::basic_ostream"* @_ZNK5boost9unit_test17lazy_ostream_implIRA45_KcEclERSo(%"class.boost::unit_test::lazy_ostream_impl.1"* %this, %"class.std::basic_ostream"* %ostr) unnamed_addr align 2 {
entry:
  %this.addr = alloca %"class.boost::unit_test::lazy_ostream_impl.1"*, align 4
  %ostr.addr = alloca %"class.std::basic_ostream"*, align 4
  store %"class.boost::unit_test::lazy_ostream_impl.1"* %this, %"class.boost::unit_test::lazy_ostream_impl.1"** %this.addr, align 4
  store %"class.std::basic_ostream"* %ostr, %"class.std::basic_ostream"** %ostr.addr, align 4
  %this1 = load %"class.boost::unit_test::lazy_ostream_impl.1"** %this.addr
  %m_prev = getelementptr inbounds %"class.boost::unit_test::lazy_ostream_impl.1"* %this1, i32 0, i32 1
  %ref = load %"class.boost::unit_test::lazy_ostream"** %m_prev, align 4
  %0 = bitcast %"class.boost::unit_test::lazy_ostream"* %ref to %"class.std::basic_ostream"* (%"class.boost::unit_test::lazy_ostream"*, %"class.std::basic_ostream"*)***
  %vtable = load %"class.std::basic_ostream"* (%"class.boost::unit_test::lazy_ostream"*, %"class.std::basic_ostream"*)*** %0
  %vfn = getelementptr inbounds %"class.std::basic_ostream"* (%"class.boost::unit_test::lazy_ostream"*, %"class.std::basic_ostream"*)** %vtable, i64 0
  %1 = load %"class.std::basic_ostream"* (%"class.boost::unit_test::lazy_ostream"*, %"class.std::basic_ostream"*)** %vfn
  %2 = load %"class.std::basic_ostream"** %ostr.addr, align 4
  %call = call %"class.std::basic_ostream"* %1(%"class.boost::unit_test::lazy_ostream"* %ref, %"class.std::basic_ostream"* %2)
  %m_value = getelementptr inbounds %"class.boost::unit_test::lazy_ostream_impl.1"* %this1, i32 0, i32 2
  %ref2 = load [45 x i8]** %m_value, align 4
  %arraydecay = getelementptr inbounds [45 x i8]* %ref2, i32 0, i32 0
  %call3 = call %"class.std::basic_ostream"* @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(%"class.std::basic_ostream"* %call, i8* %arraydecay)
  ret %"class.std::basic_ostream"* %call3
}

define linkonce_odr void @_ZN5boost9unit_test17lazy_ostream_implIRA45_KcED0Ev(%"class.boost::unit_test::lazy_ostream_impl.1"* %this) unnamed_addr inlinehint align 2 {
entry:
  %this.addr = alloca %"class.boost::unit_test::lazy_ostream_impl.1"*, align 4
  %exn.slot = alloca i8*
  %ehselector.slot = alloca i32
  store %"class.boost::unit_test::lazy_ostream_impl.1"* %this, %"class.boost::unit_test::lazy_ostream_impl.1"** %this.addr, align 4
  %this1 = load %"class.boost::unit_test::lazy_ostream_impl.1"** %this.addr
  invoke void @_ZN5boost9unit_test17lazy_ostream_implIRA45_KcED1Ev(%"class.boost::unit_test::lazy_ostream_impl.1"* %this1)
          to label %invoke.cont unwind label %lpad

invoke.cont:                                      ; preds = %entry
  %0 = bitcast %"class.boost::unit_test::lazy_ostream_impl.1"* %this1 to i8*
  call void @_ZdlPv(i8* %0) nounwind
  ret void

lpad:                                             ; preds = %entry
  %1 = landingpad { i8*, i32 } personality i8* bitcast (i32 (...)* @__gxx_personality_v0 to i8*)
          cleanup
  %2 = extractvalue { i8*, i32 } %1, 0
  store i8* %2, i8** %exn.slot
  %3 = extractvalue { i8*, i32 } %1, 1
  store i32 %3, i32* %ehselector.slot
  %4 = bitcast %"class.boost::unit_test::lazy_ostream_impl.1"* %this1 to i8*
  call void @_ZdlPv(i8* %4) nounwind
  br label %eh.resume

eh.resume:                                        ; preds = %lpad
  %exn = load i8** %exn.slot
  %sel = load i32* %ehselector.slot
  %lpad.val = insertvalue { i8*, i32 } undef, i8* %exn, 0
  %lpad.val2 = insertvalue { i8*, i32 } %lpad.val, i32 %sel, 1
  resume { i8*, i32 } %lpad.val2
}

define linkonce_odr void @_ZN5boost2io25basic_ios_exception_saverIcSt11char_traitsIcEED2Ev(%"class.boost::io::basic_ios_exception_saver"* %this) unnamed_addr align 2 {
entry:
  %this.addr = alloca %"class.boost::io::basic_ios_exception_saver"*, align 4
  store %"class.boost::io::basic_ios_exception_saver"* %this, %"class.boost::io::basic_ios_exception_saver"** %this.addr, align 4
  %this1 = load %"class.boost::io::basic_ios_exception_saver"** %this.addr
  call void @_ZN5boost2io25basic_ios_exception_saverIcSt11char_traitsIcEE7restoreEv(%"class.boost::io::basic_ios_exception_saver"* %this1)
  ret void
}

define linkonce_odr void @_ZN5boost2io25basic_ios_exception_saverIcSt11char_traitsIcEE7restoreEv(%"class.boost::io::basic_ios_exception_saver"* %this) align 2 {
entry:
  %this.addr = alloca %"class.boost::io::basic_ios_exception_saver"*, align 4
  store %"class.boost::io::basic_ios_exception_saver"* %this, %"class.boost::io::basic_ios_exception_saver"** %this.addr, align 4
  %this1 = load %"class.boost::io::basic_ios_exception_saver"** %this.addr
  %s_save_ = getelementptr inbounds %"class.boost::io::basic_ios_exception_saver"* %this1, i32 0, i32 0
  %ref = load %"class.std::basic_ios"** %s_save_, align 4
  %a_save_ = getelementptr inbounds %"class.boost::io::basic_ios_exception_saver"* %this1, i32 0, i32 1
  %0 = load i32* %a_save_, align 4
  call void @_ZNSt9basic_iosIcSt11char_traitsIcEE10exceptionsESt12_Ios_Iostate(%"class.std::basic_ios"* %ref, i32 %0)
  ret void
}

define linkonce_odr void @_ZN5boost2io25basic_ios_exception_saverIcSt11char_traitsIcEEC2ERSt9basic_iosIcS3_E(%"class.boost::io::basic_ios_exception_saver"* %this, %"class.std::basic_ios"* %s) unnamed_addr align 2 {
entry:
  %this.addr = alloca %"class.boost::io::basic_ios_exception_saver"*, align 4
  %s.addr = alloca %"class.std::basic_ios"*, align 4
  store %"class.boost::io::basic_ios_exception_saver"* %this, %"class.boost::io::basic_ios_exception_saver"** %this.addr, align 4
  store %"class.std::basic_ios"* %s, %"class.std::basic_ios"** %s.addr, align 4
  %this1 = load %"class.boost::io::basic_ios_exception_saver"** %this.addr
  %0 = getelementptr inbounds %"class.boost::io::basic_ios_exception_saver"* %this1, i32 0, i32 0
  %1 = load %"class.std::basic_ios"** %s.addr, align 4
  store %"class.std::basic_ios"* %1, %"class.std::basic_ios"** %0, align 4
  %a_save_ = getelementptr inbounds %"class.boost::io::basic_ios_exception_saver"* %this1, i32 0, i32 1
  %2 = load %"class.std::basic_ios"** %s.addr, align 4
  %call = call i32 @_ZNKSt9basic_iosIcSt11char_traitsIcEE10exceptionsEv(%"class.std::basic_ios"* %2)
  store i32 %call, i32* %a_save_, align 4
  ret void
}

define linkonce_odr void @_ZN5boost2io23basic_ios_iostate_saverIcSt11char_traitsIcEEC2ERSt9basic_iosIcS3_ERKSt12_Ios_Iostate(%"class.boost::io::basic_ios_iostate_saver"* %this, %"class.std::basic_ios"* %s, i32* %a) unnamed_addr align 2 {
entry:
  %this.addr = alloca %"class.boost::io::basic_ios_iostate_saver"*, align 4
  %s.addr = alloca %"class.std::basic_ios"*, align 4
  %a.addr = alloca i32*, align 4
  store %"class.boost::io::basic_ios_iostate_saver"* %this, %"class.boost::io::basic_ios_iostate_saver"** %this.addr, align 4
  store %"class.std::basic_ios"* %s, %"class.std::basic_ios"** %s.addr, align 4
  store i32* %a, i32** %a.addr, align 4
  %this1 = load %"class.boost::io::basic_ios_iostate_saver"** %this.addr
  %0 = getelementptr inbounds %"class.boost::io::basic_ios_iostate_saver"* %this1, i32 0, i32 0
  %1 = load %"class.std::basic_ios"** %s.addr, align 4
  store %"class.std::basic_ios"* %1, %"class.std::basic_ios"** %0, align 4
  %a_save_ = getelementptr inbounds %"class.boost::io::basic_ios_iostate_saver"* %this1, i32 0, i32 1
  %2 = load %"class.std::basic_ios"** %s.addr, align 4
  %call = call i32 @_ZNKSt9basic_iosIcSt11char_traitsIcEE7rdstateEv(%"class.std::basic_ios"* %2)
  store i32 %call, i32* %a_save_, align 4
  %3 = load %"class.std::basic_ios"** %s.addr, align 4
  %4 = load i32** %a.addr, align 4
  %5 = load i32* %4, align 4
  call void @_ZNSt9basic_iosIcSt11char_traitsIcEE5clearESt12_Ios_Iostate(%"class.std::basic_ios"* %3, i32 %5)
  ret void
}

define linkonce_odr void @_ZN5boost2io23basic_ios_iostate_saverIcSt11char_traitsIcEED2Ev(%"class.boost::io::basic_ios_iostate_saver"* %this) unnamed_addr align 2 {
entry:
  %this.addr = alloca %"class.boost::io::basic_ios_iostate_saver"*, align 4
  store %"class.boost::io::basic_ios_iostate_saver"* %this, %"class.boost::io::basic_ios_iostate_saver"** %this.addr, align 4
  %this1 = load %"class.boost::io::basic_ios_iostate_saver"** %this.addr
  call void @_ZN5boost2io23basic_ios_iostate_saverIcSt11char_traitsIcEE7restoreEv(%"class.boost::io::basic_ios_iostate_saver"* %this1)
  ret void
}

define linkonce_odr void @_ZN5boost2io23basic_ios_iostate_saverIcSt11char_traitsIcEE7restoreEv(%"class.boost::io::basic_ios_iostate_saver"* %this) align 2 {
entry:
  %this.addr = alloca %"class.boost::io::basic_ios_iostate_saver"*, align 4
  store %"class.boost::io::basic_ios_iostate_saver"* %this, %"class.boost::io::basic_ios_iostate_saver"** %this.addr, align 4
  %this1 = load %"class.boost::io::basic_ios_iostate_saver"** %this.addr
  %s_save_ = getelementptr inbounds %"class.boost::io::basic_ios_iostate_saver"* %this1, i32 0, i32 0
  %ref = load %"class.std::basic_ios"** %s_save_, align 4
  %a_save_ = getelementptr inbounds %"class.boost::io::basic_ios_iostate_saver"* %this1, i32 0, i32 1
  %0 = load i32* %a_save_, align 4
  call void @_ZNSt9basic_iosIcSt11char_traitsIcEE5clearESt12_Ios_Iostate(%"class.std::basic_ios"* %ref, i32 %0)
  ret void
}

define linkonce_odr void @_ZN5boost2io23basic_ios_iostate_saverIcSt11char_traitsIcEEC2ERSt9basic_iosIcS3_E(%"class.boost::io::basic_ios_iostate_saver"* %this, %"class.std::basic_ios"* %s) unnamed_addr align 2 {
entry:
  %this.addr = alloca %"class.boost::io::basic_ios_iostate_saver"*, align 4
  %s.addr = alloca %"class.std::basic_ios"*, align 4
  store %"class.boost::io::basic_ios_iostate_saver"* %this, %"class.boost::io::basic_ios_iostate_saver"** %this.addr, align 4
  store %"class.std::basic_ios"* %s, %"class.std::basic_ios"** %s.addr, align 4
  %this1 = load %"class.boost::io::basic_ios_iostate_saver"** %this.addr
  %0 = getelementptr inbounds %"class.boost::io::basic_ios_iostate_saver"* %this1, i32 0, i32 0
  %1 = load %"class.std::basic_ios"** %s.addr, align 4
  store %"class.std::basic_ios"* %1, %"class.std::basic_ios"** %0, align 4
  %a_save_ = getelementptr inbounds %"class.boost::io::basic_ios_iostate_saver"* %this1, i32 0, i32 1
  %2 = load %"class.std::basic_ios"** %s.addr, align 4
  %call = call i32 @_ZNKSt9basic_iosIcSt11char_traitsIcEE7rdstateEv(%"class.std::basic_ios"* %2)
  store i32 %call, i32* %a_save_, align 4
  ret void
}

define linkonce_odr void @_ZN5boost9unit_test17lazy_ostream_implIRKNS0_13basic_cstringIKcEEEC1ERKNS0_12lazy_ostreamES6_(%"class.boost::unit_test::lazy_ostream_impl.0"* %this, %"class.boost::unit_test::lazy_ostream"* %prev, %"class.boost::unit_test::basic_cstring"* %value) unnamed_addr align 2 {
entry:
  %this.addr = alloca %"class.boost::unit_test::lazy_ostream_impl.0"*, align 4
  %prev.addr = alloca %"class.boost::unit_test::lazy_ostream"*, align 4
  %value.addr = alloca %"class.boost::unit_test::basic_cstring"*, align 4
  store %"class.boost::unit_test::lazy_ostream_impl.0"* %this, %"class.boost::unit_test::lazy_ostream_impl.0"** %this.addr, align 4
  store %"class.boost::unit_test::lazy_ostream"* %prev, %"class.boost::unit_test::lazy_ostream"** %prev.addr, align 4
  store %"class.boost::unit_test::basic_cstring"* %value, %"class.boost::unit_test::basic_cstring"** %value.addr, align 4
  %this1 = load %"class.boost::unit_test::lazy_ostream_impl.0"** %this.addr
  %0 = load %"class.boost::unit_test::lazy_ostream"** %prev.addr
  %1 = load %"class.boost::unit_test::basic_cstring"** %value.addr
  call void @_ZN5boost9unit_test17lazy_ostream_implIRKNS0_13basic_cstringIKcEEEC2ERKNS0_12lazy_ostreamES6_(%"class.boost::unit_test::lazy_ostream_impl.0"* %this1, %"class.boost::unit_test::lazy_ostream"* %0, %"class.boost::unit_test::basic_cstring"* %1)
  ret void
}

define linkonce_odr void @_ZN5boost9unit_test17lazy_ostream_implIRKNS0_13basic_cstringIKcEEEC2ERKNS0_12lazy_ostreamES6_(%"class.boost::unit_test::lazy_ostream_impl.0"* %this, %"class.boost::unit_test::lazy_ostream"* %prev, %"class.boost::unit_test::basic_cstring"* %value) unnamed_addr nounwind align 2 {
entry:
  %this.addr = alloca %"class.boost::unit_test::lazy_ostream_impl.0"*, align 4
  %prev.addr = alloca %"class.boost::unit_test::lazy_ostream"*, align 4
  %value.addr = alloca %"class.boost::unit_test::basic_cstring"*, align 4
  store %"class.boost::unit_test::lazy_ostream_impl.0"* %this, %"class.boost::unit_test::lazy_ostream_impl.0"** %this.addr, align 4
  store %"class.boost::unit_test::lazy_ostream"* %prev, %"class.boost::unit_test::lazy_ostream"** %prev.addr, align 4
  store %"class.boost::unit_test::basic_cstring"* %value, %"class.boost::unit_test::basic_cstring"** %value.addr, align 4
  %this1 = load %"class.boost::unit_test::lazy_ostream_impl.0"** %this.addr
  %0 = bitcast %"class.boost::unit_test::lazy_ostream_impl.0"* %this1 to %"class.boost::unit_test::lazy_ostream"*
  call void @_ZN5boost9unit_test12lazy_ostreamC2Eb(%"class.boost::unit_test::lazy_ostream"* %0, i1 zeroext false)
  %1 = bitcast %"class.boost::unit_test::lazy_ostream_impl.0"* %this1 to i8***
  store i8** getelementptr inbounds ([5 x i8*]* @_ZTVN5boost9unit_test17lazy_ostream_implIRKNS0_13basic_cstringIKcEEEE, i64 0, i64 2), i8*** %1
  %2 = getelementptr inbounds %"class.boost::unit_test::lazy_ostream_impl.0"* %this1, i32 0, i32 1
  %3 = load %"class.boost::unit_test::lazy_ostream"** %prev.addr, align 4
  store %"class.boost::unit_test::lazy_ostream"* %3, %"class.boost::unit_test::lazy_ostream"** %2, align 4
  %4 = getelementptr inbounds %"class.boost::unit_test::lazy_ostream_impl.0"* %this1, i32 0, i32 2
  %5 = load %"class.boost::unit_test::basic_cstring"** %value.addr, align 4
  store %"class.boost::unit_test::basic_cstring"* %5, %"class.boost::unit_test::basic_cstring"** %4, align 4
  ret void
}

define linkonce_odr %"class.std::basic_ostream"* @_ZNK5boost9unit_test17lazy_ostream_implIRKNS0_13basic_cstringIKcEEEclERSo(%"class.boost::unit_test::lazy_ostream_impl.0"* %this, %"class.std::basic_ostream"* %ostr) unnamed_addr align 2 {
entry:
  %this.addr = alloca %"class.boost::unit_test::lazy_ostream_impl.0"*, align 4
  %ostr.addr = alloca %"class.std::basic_ostream"*, align 4
  store %"class.boost::unit_test::lazy_ostream_impl.0"* %this, %"class.boost::unit_test::lazy_ostream_impl.0"** %this.addr, align 4
  store %"class.std::basic_ostream"* %ostr, %"class.std::basic_ostream"** %ostr.addr, align 4
  %this1 = load %"class.boost::unit_test::lazy_ostream_impl.0"** %this.addr
  %m_prev = getelementptr inbounds %"class.boost::unit_test::lazy_ostream_impl.0"* %this1, i32 0, i32 1
  %ref = load %"class.boost::unit_test::lazy_ostream"** %m_prev, align 4
  %0 = bitcast %"class.boost::unit_test::lazy_ostream"* %ref to %"class.std::basic_ostream"* (%"class.boost::unit_test::lazy_ostream"*, %"class.std::basic_ostream"*)***
  %vtable = load %"class.std::basic_ostream"* (%"class.boost::unit_test::lazy_ostream"*, %"class.std::basic_ostream"*)*** %0
  %vfn = getelementptr inbounds %"class.std::basic_ostream"* (%"class.boost::unit_test::lazy_ostream"*, %"class.std::basic_ostream"*)** %vtable, i64 0
  %1 = load %"class.std::basic_ostream"* (%"class.boost::unit_test::lazy_ostream"*, %"class.std::basic_ostream"*)** %vfn
  %2 = load %"class.std::basic_ostream"** %ostr.addr, align 4
  %call = call %"class.std::basic_ostream"* %1(%"class.boost::unit_test::lazy_ostream"* %ref, %"class.std::basic_ostream"* %2)
  %m_value = getelementptr inbounds %"class.boost::unit_test::lazy_ostream_impl.0"* %this1, i32 0, i32 2
  %ref2 = load %"class.boost::unit_test::basic_cstring"** %m_value, align 4
  %call3 = call %"class.std::basic_ostream"* @_ZN5boost9unit_testlsIcSt11char_traitsIcEKcEERSt13basic_ostreamIT_T0_ES9_RKNS0_13basic_cstringIT1_EE(%"class.std::basic_ostream"* %call, %"class.boost::unit_test::basic_cstring"* %ref2)
  ret %"class.std::basic_ostream"* %call3
}

define linkonce_odr void @_ZN5boost9unit_test17lazy_ostream_implIRKNS0_13basic_cstringIKcEEED0Ev(%"class.boost::unit_test::lazy_ostream_impl.0"* %this) unnamed_addr inlinehint align 2 {
entry:
  %this.addr = alloca %"class.boost::unit_test::lazy_ostream_impl.0"*, align 4
  %exn.slot = alloca i8*
  %ehselector.slot = alloca i32
  store %"class.boost::unit_test::lazy_ostream_impl.0"* %this, %"class.boost::unit_test::lazy_ostream_impl.0"** %this.addr, align 4
  %this1 = load %"class.boost::unit_test::lazy_ostream_impl.0"** %this.addr
  invoke void @_ZN5boost9unit_test17lazy_ostream_implIRKNS0_13basic_cstringIKcEEED1Ev(%"class.boost::unit_test::lazy_ostream_impl.0"* %this1)
          to label %invoke.cont unwind label %lpad

invoke.cont:                                      ; preds = %entry
  %0 = bitcast %"class.boost::unit_test::lazy_ostream_impl.0"* %this1 to i8*
  call void @_ZdlPv(i8* %0) nounwind
  ret void

lpad:                                             ; preds = %entry
  %1 = landingpad { i8*, i32 } personality i8* bitcast (i32 (...)* @__gxx_personality_v0 to i8*)
          cleanup
  %2 = extractvalue { i8*, i32 } %1, 0
  store i8* %2, i8** %exn.slot
  %3 = extractvalue { i8*, i32 } %1, 1
  store i32 %3, i32* %ehselector.slot
  %4 = bitcast %"class.boost::unit_test::lazy_ostream_impl.0"* %this1 to i8*
  call void @_ZdlPv(i8* %4) nounwind
  br label %eh.resume

eh.resume:                                        ; preds = %lpad
  %exn = load i8** %exn.slot
  %sel = load i32* %ehselector.slot
  %lpad.val = insertvalue { i8*, i32 } undef, i8* %exn, 0
  %lpad.val2 = insertvalue { i8*, i32 } %lpad.val, i32 %sel, 1
  resume { i8*, i32 } %lpad.val2
}

define linkonce_odr %"class.std::basic_ostream"* @_ZN5boost9unit_testlsIcSt11char_traitsIcEKcEERSt13basic_ostreamIT_T0_ES9_RKNS0_13basic_cstringIT1_EE(%"class.std::basic_ostream"* %os, %"class.boost::unit_test::basic_cstring"* %str) inlinehint {
entry:
  %os.addr = alloca %"class.std::basic_ostream"*, align 4
  %str.addr = alloca %"class.boost::unit_test::basic_cstring"*, align 4
  %beg = alloca i8*, align 4
  %end = alloca i8*, align 4
  %ref.tmp = alloca %"class.std::basic_string", align 4
  %ref.tmp2 = alloca %"class.std::allocator", align 1
  %exn.slot = alloca i8*
  %ehselector.slot = alloca i32
  store %"class.std::basic_ostream"* %os, %"class.std::basic_ostream"** %os.addr, align 4
  store %"class.boost::unit_test::basic_cstring"* %str, %"class.boost::unit_test::basic_cstring"** %str.addr, align 4
  %0 = load %"class.boost::unit_test::basic_cstring"** %str.addr, align 4
  %call = call i8* @_ZNK5boost9unit_test13basic_cstringIKcE5beginEv(%"class.boost::unit_test::basic_cstring"* %0)
  store i8* %call, i8** %beg, align 4
  %1 = load %"class.boost::unit_test::basic_cstring"** %str.addr, align 4
  %call1 = call i8* @_ZNK5boost9unit_test13basic_cstringIKcE3endEv(%"class.boost::unit_test::basic_cstring"* %1)
  store i8* %call1, i8** %end, align 4
  %2 = load %"class.std::basic_ostream"** %os.addr, align 4
  %3 = load i8** %beg, align 4
  %4 = load i8** %end, align 4
  %5 = load i8** %beg, align 4
  %sub.ptr.lhs.cast = ptrtoint i8* %4 to i32
  %sub.ptr.rhs.cast = ptrtoint i8* %5 to i32
  %sub.ptr.sub = sub i32 %sub.ptr.lhs.cast, %sub.ptr.rhs.cast
  call void @_ZNSaIcEC1Ev(%"class.std::allocator"* %ref.tmp2) nounwind
  invoke void @_ZNSsC1EPKcjRKSaIcE(%"class.std::basic_string"* %ref.tmp, i8* %3, i32 %sub.ptr.sub, %"class.std::allocator"* %ref.tmp2)
          to label %invoke.cont unwind label %lpad

invoke.cont:                                      ; preds = %entry
  %call5 = invoke %"class.std::basic_ostream"* @_ZStlsIcSt11char_traitsIcESaIcEERSt13basic_ostreamIT_T0_ES7_RKSbIS4_S5_T1_E(%"class.std::basic_ostream"* %2, %"class.std::basic_string"* %ref.tmp)
          to label %invoke.cont4 unwind label %lpad3

invoke.cont4:                                     ; preds = %invoke.cont
  invoke void @_ZNSsD1Ev(%"class.std::basic_string"* %ref.tmp)
          to label %invoke.cont6 unwind label %lpad

invoke.cont6:                                     ; preds = %invoke.cont4
  call void @_ZNSaIcED1Ev(%"class.std::allocator"* %ref.tmp2) nounwind
  %6 = load %"class.std::basic_ostream"** %os.addr, align 4
  ret %"class.std::basic_ostream"* %6

lpad:                                             ; preds = %invoke.cont4, %entry
  %7 = landingpad { i8*, i32 } personality i8* bitcast (i32 (...)* @__gxx_personality_v0 to i8*)
          cleanup
  %8 = extractvalue { i8*, i32 } %7, 0
  store i8* %8, i8** %exn.slot
  %9 = extractvalue { i8*, i32 } %7, 1
  store i32 %9, i32* %ehselector.slot
  br label %ehcleanup

lpad3:                                            ; preds = %invoke.cont
  %10 = landingpad { i8*, i32 } personality i8* bitcast (i32 (...)* @__gxx_personality_v0 to i8*)
          cleanup
  %11 = extractvalue { i8*, i32 } %10, 0
  store i8* %11, i8** %exn.slot
  %12 = extractvalue { i8*, i32 } %10, 1
  store i32 %12, i32* %ehselector.slot
  invoke void @_ZNSsD1Ev(%"class.std::basic_string"* %ref.tmp)
          to label %invoke.cont7 unwind label %terminate.lpad

invoke.cont7:                                     ; preds = %lpad3
  br label %ehcleanup

ehcleanup:                                        ; preds = %invoke.cont7, %lpad
  call void @_ZNSaIcED1Ev(%"class.std::allocator"* %ref.tmp2) nounwind
  br label %eh.resume

eh.resume:                                        ; preds = %ehcleanup
  %exn = load i8** %exn.slot
  %sel = load i32* %ehselector.slot
  %lpad.val = insertvalue { i8*, i32 } undef, i8* %exn, 0
  %lpad.val8 = insertvalue { i8*, i32 } %lpad.val, i32 %sel, 1
  resume { i8*, i32 } %lpad.val8

terminate.lpad:                                   ; preds = %lpad3
  %13 = landingpad { i8*, i32 } personality i8* bitcast (i32 (...)* @__gxx_personality_v0 to i8*)
          catch i8* null
  call void @_ZSt9terminatev() noreturn nounwind
  unreachable
}

define linkonce_odr i8* @_ZNK5boost9unit_test13basic_cstringIKcE5beginEv(%"class.boost::unit_test::basic_cstring"* %this) nounwind align 2 {
entry:
  %this.addr = alloca %"class.boost::unit_test::basic_cstring"*, align 4
  store %"class.boost::unit_test::basic_cstring"* %this, %"class.boost::unit_test::basic_cstring"** %this.addr, align 4
  %this1 = load %"class.boost::unit_test::basic_cstring"** %this.addr
  %m_begin = getelementptr inbounds %"class.boost::unit_test::basic_cstring"* %this1, i32 0, i32 0
  %0 = load i8** %m_begin, align 4
  ret i8* %0
}

define linkonce_odr i8* @_ZNK5boost9unit_test13basic_cstringIKcE3endEv(%"class.boost::unit_test::basic_cstring"* %this) nounwind align 2 {
entry:
  %this.addr = alloca %"class.boost::unit_test::basic_cstring"*, align 4
  store %"class.boost::unit_test::basic_cstring"* %this, %"class.boost::unit_test::basic_cstring"** %this.addr, align 4
  %this1 = load %"class.boost::unit_test::basic_cstring"** %this.addr
  %m_end = getelementptr inbounds %"class.boost::unit_test::basic_cstring"* %this1, i32 0, i32 1
  %0 = load i8** %m_end, align 4
  ret i8* %0
}

declare %"class.std::basic_ostream"* @_ZStlsIcSt11char_traitsIcESaIcEERSt13basic_ostreamIT_T0_ES7_RKSbIS4_S5_T1_E(%"class.std::basic_ostream"*, %"class.std::basic_string"*)

declare void @_ZNSsC1EPKcjRKSaIcE(%"class.std::basic_string"*, i8*, i32, %"class.std::allocator"*)

define linkonce_odr void @_ZNK5boost10test_tools9tt_detail15equal_impl_frwdclISt12_Ios_IostateS4_EENS0_16predicate_resultERKT_RKT0_(%"class.boost::test_tools::predicate_result"* noalias sret %agg.result, %"struct.boost::test_tools::tt_detail::equal_impl_frwd"* %this, i32* %left, i32* %right) inlinehint align 2 {
entry:
  %this.addr = alloca %"struct.boost::test_tools::tt_detail::equal_impl_frwd"*, align 4
  %left.addr = alloca i32*, align 4
  %right.addr = alloca i32*, align 4
  %agg.tmp = alloca %"struct.mpl_::bool_", align 1
  %ref.tmp = alloca %"struct.boost::integral_constant", align 1
  store %"struct.boost::test_tools::tt_detail::equal_impl_frwd"* %this, %"struct.boost::test_tools::tt_detail::equal_impl_frwd"** %this.addr, align 4
  store i32* %left, i32** %left.addr, align 4
  store i32* %right, i32** %right.addr, align 4
  %this1 = load %"struct.boost::test_tools::tt_detail::equal_impl_frwd"** %this.addr
  %0 = load i32** %left.addr, align 4
  %1 = load i32** %right.addr, align 4
  %2 = bitcast %"struct.boost::integral_constant"* %ref.tmp to %"struct.mpl_::bool_"*
  call void @_ZNK5boost10test_tools9tt_detail15equal_impl_frwd9call_implISt12_Ios_IostateS4_EENS0_16predicate_resultERKT_RKT0_N4mpl_5bool_ILb0EEE(%"class.boost::test_tools::predicate_result"* sret %agg.result, %"struct.boost::test_tools::tt_detail::equal_impl_frwd"* %this1, i32* %0, i32* %1)
  ret void
}

define linkonce_odr void @_ZN5boost9unit_testlsINS_10test_tools9tt_detail14print_helper_tISt12_Ios_IostateEEEENS0_17lazy_ostream_implIRKT_EERKNS0_12lazy_ostreamESA_(%"class.boost::unit_test::lazy_ostream_impl.45"* noalias sret %agg.result, %"class.boost::unit_test::lazy_ostream"* %prev, %"struct.boost::test_tools::tt_detail::print_helper_t.46"* %v) inlinehint {
entry:
  %prev.addr = alloca %"class.boost::unit_test::lazy_ostream"*, align 4
  %v.addr = alloca %"struct.boost::test_tools::tt_detail::print_helper_t.46"*, align 4
  store %"class.boost::unit_test::lazy_ostream"* %prev, %"class.boost::unit_test::lazy_ostream"** %prev.addr, align 4
  store %"struct.boost::test_tools::tt_detail::print_helper_t.46"* %v, %"struct.boost::test_tools::tt_detail::print_helper_t.46"** %v.addr, align 4
  %0 = load %"class.boost::unit_test::lazy_ostream"** %prev.addr, align 4
  %1 = load %"struct.boost::test_tools::tt_detail::print_helper_t.46"** %v.addr, align 4
  call void @_ZN5boost9unit_test17lazy_ostream_implIRKNS_10test_tools9tt_detail14print_helper_tISt12_Ios_IostateEEEC1ERKNS0_12lazy_ostreamES8_(%"class.boost::unit_test::lazy_ostream_impl.45"* %agg.result, %"class.boost::unit_test::lazy_ostream"* %0, %"struct.boost::test_tools::tt_detail::print_helper_t.46"* %1)
  ret void
}

define linkonce_odr void @_ZN5boost10test_tools9tt_detail12print_helperISt12_Ios_IostateEENS1_14print_helper_tIT_EERKS5_(%"struct.boost::test_tools::tt_detail::print_helper_t.46"* noalias sret %agg.result, i32* %t) inlinehint {
entry:
  %t.addr = alloca i32*, align 4
  store i32* %t, i32** %t.addr, align 4
  %0 = load i32** %t.addr, align 4
  call void @_ZN5boost10test_tools9tt_detail14print_helper_tISt12_Ios_IostateEC1ERKS3_(%"struct.boost::test_tools::tt_detail::print_helper_t.46"* %agg.result, i32* %0)
  ret void
}

define linkonce_odr void @_ZN5boost9unit_test17lazy_ostream_implIRKNS_10test_tools9tt_detail14print_helper_tISt12_Ios_IostateEEED1Ev(%"class.boost::unit_test::lazy_ostream_impl.45"* %this) unnamed_addr inlinehint align 2 {
entry:
  %this.addr = alloca %"class.boost::unit_test::lazy_ostream_impl.45"*, align 4
  store %"class.boost::unit_test::lazy_ostream_impl.45"* %this, %"class.boost::unit_test::lazy_ostream_impl.45"** %this.addr, align 4
  %this1 = load %"class.boost::unit_test::lazy_ostream_impl.45"** %this.addr
  call void @_ZN5boost9unit_test17lazy_ostream_implIRKNS_10test_tools9tt_detail14print_helper_tISt12_Ios_IostateEEED2Ev(%"class.boost::unit_test::lazy_ostream_impl.45"* %this1)
  ret void
}

define linkonce_odr void @_ZN5boost9unit_test17lazy_ostream_implIRKNS_10test_tools9tt_detail14print_helper_tISt12_Ios_IostateEEED2Ev(%"class.boost::unit_test::lazy_ostream_impl.45"* %this) unnamed_addr nounwind inlinehint align 2 {
entry:
  %this.addr = alloca %"class.boost::unit_test::lazy_ostream_impl.45"*, align 4
  store %"class.boost::unit_test::lazy_ostream_impl.45"* %this, %"class.boost::unit_test::lazy_ostream_impl.45"** %this.addr, align 4
  %this1 = load %"class.boost::unit_test::lazy_ostream_impl.45"** %this.addr
  %0 = bitcast %"class.boost::unit_test::lazy_ostream_impl.45"* %this1 to %"class.boost::unit_test::lazy_ostream"*
  call void @_ZN5boost9unit_test12lazy_ostreamD2Ev(%"class.boost::unit_test::lazy_ostream"* %0)
  ret void
}

define linkonce_odr void @_ZN5boost10test_tools9tt_detail14print_helper_tISt12_Ios_IostateEC1ERKS3_(%"struct.boost::test_tools::tt_detail::print_helper_t.46"* %this, i32* %t) unnamed_addr align 2 {
entry:
  %this.addr = alloca %"struct.boost::test_tools::tt_detail::print_helper_t.46"*, align 4
  %t.addr = alloca i32*, align 4
  store %"struct.boost::test_tools::tt_detail::print_helper_t.46"* %this, %"struct.boost::test_tools::tt_detail::print_helper_t.46"** %this.addr, align 4
  store i32* %t, i32** %t.addr, align 4
  %this1 = load %"struct.boost::test_tools::tt_detail::print_helper_t.46"** %this.addr
  %0 = load i32** %t.addr
  call void @_ZN5boost10test_tools9tt_detail14print_helper_tISt12_Ios_IostateEC2ERKS3_(%"struct.boost::test_tools::tt_detail::print_helper_t.46"* %this1, i32* %0)
  ret void
}

define linkonce_odr void @_ZN5boost10test_tools9tt_detail14print_helper_tISt12_Ios_IostateEC2ERKS3_(%"struct.boost::test_tools::tt_detail::print_helper_t.46"* %this, i32* %t) unnamed_addr nounwind align 2 {
entry:
  %this.addr = alloca %"struct.boost::test_tools::tt_detail::print_helper_t.46"*, align 4
  %t.addr = alloca i32*, align 4
  store %"struct.boost::test_tools::tt_detail::print_helper_t.46"* %this, %"struct.boost::test_tools::tt_detail::print_helper_t.46"** %this.addr, align 4
  store i32* %t, i32** %t.addr, align 4
  %this1 = load %"struct.boost::test_tools::tt_detail::print_helper_t.46"** %this.addr
  %0 = getelementptr inbounds %"struct.boost::test_tools::tt_detail::print_helper_t.46"* %this1, i32 0, i32 0
  %1 = load i32** %t.addr, align 4
  store i32* %1, i32** %0, align 4
  ret void
}

define linkonce_odr void @_ZN5boost9unit_test17lazy_ostream_implIRKNS_10test_tools9tt_detail14print_helper_tISt12_Ios_IostateEEEC1ERKNS0_12lazy_ostreamES8_(%"class.boost::unit_test::lazy_ostream_impl.45"* %this, %"class.boost::unit_test::lazy_ostream"* %prev, %"struct.boost::test_tools::tt_detail::print_helper_t.46"* %value) unnamed_addr align 2 {
entry:
  %this.addr = alloca %"class.boost::unit_test::lazy_ostream_impl.45"*, align 4
  %prev.addr = alloca %"class.boost::unit_test::lazy_ostream"*, align 4
  %value.addr = alloca %"struct.boost::test_tools::tt_detail::print_helper_t.46"*, align 4
  store %"class.boost::unit_test::lazy_ostream_impl.45"* %this, %"class.boost::unit_test::lazy_ostream_impl.45"** %this.addr, align 4
  store %"class.boost::unit_test::lazy_ostream"* %prev, %"class.boost::unit_test::lazy_ostream"** %prev.addr, align 4
  store %"struct.boost::test_tools::tt_detail::print_helper_t.46"* %value, %"struct.boost::test_tools::tt_detail::print_helper_t.46"** %value.addr, align 4
  %this1 = load %"class.boost::unit_test::lazy_ostream_impl.45"** %this.addr
  %0 = load %"class.boost::unit_test::lazy_ostream"** %prev.addr
  %1 = load %"struct.boost::test_tools::tt_detail::print_helper_t.46"** %value.addr
  call void @_ZN5boost9unit_test17lazy_ostream_implIRKNS_10test_tools9tt_detail14print_helper_tISt12_Ios_IostateEEEC2ERKNS0_12lazy_ostreamES8_(%"class.boost::unit_test::lazy_ostream_impl.45"* %this1, %"class.boost::unit_test::lazy_ostream"* %0, %"struct.boost::test_tools::tt_detail::print_helper_t.46"* %1)
  ret void
}

define linkonce_odr void @_ZN5boost9unit_test17lazy_ostream_implIRKNS_10test_tools9tt_detail14print_helper_tISt12_Ios_IostateEEEC2ERKNS0_12lazy_ostreamES8_(%"class.boost::unit_test::lazy_ostream_impl.45"* %this, %"class.boost::unit_test::lazy_ostream"* %prev, %"struct.boost::test_tools::tt_detail::print_helper_t.46"* %value) unnamed_addr nounwind align 2 {
entry:
  %this.addr = alloca %"class.boost::unit_test::lazy_ostream_impl.45"*, align 4
  %prev.addr = alloca %"class.boost::unit_test::lazy_ostream"*, align 4
  %value.addr = alloca %"struct.boost::test_tools::tt_detail::print_helper_t.46"*, align 4
  store %"class.boost::unit_test::lazy_ostream_impl.45"* %this, %"class.boost::unit_test::lazy_ostream_impl.45"** %this.addr, align 4
  store %"class.boost::unit_test::lazy_ostream"* %prev, %"class.boost::unit_test::lazy_ostream"** %prev.addr, align 4
  store %"struct.boost::test_tools::tt_detail::print_helper_t.46"* %value, %"struct.boost::test_tools::tt_detail::print_helper_t.46"** %value.addr, align 4
  %this1 = load %"class.boost::unit_test::lazy_ostream_impl.45"** %this.addr
  %0 = bitcast %"class.boost::unit_test::lazy_ostream_impl.45"* %this1 to %"class.boost::unit_test::lazy_ostream"*
  call void @_ZN5boost9unit_test12lazy_ostreamC2Eb(%"class.boost::unit_test::lazy_ostream"* %0, i1 zeroext false)
  %1 = bitcast %"class.boost::unit_test::lazy_ostream_impl.45"* %this1 to i8***
  store i8** getelementptr inbounds ([5 x i8*]* @_ZTVN5boost9unit_test17lazy_ostream_implIRKNS_10test_tools9tt_detail14print_helper_tISt12_Ios_IostateEEEE, i64 0, i64 2), i8*** %1
  %2 = getelementptr inbounds %"class.boost::unit_test::lazy_ostream_impl.45"* %this1, i32 0, i32 1
  %3 = load %"class.boost::unit_test::lazy_ostream"** %prev.addr, align 4
  store %"class.boost::unit_test::lazy_ostream"* %3, %"class.boost::unit_test::lazy_ostream"** %2, align 4
  %4 = getelementptr inbounds %"class.boost::unit_test::lazy_ostream_impl.45"* %this1, i32 0, i32 2
  %5 = load %"struct.boost::test_tools::tt_detail::print_helper_t.46"** %value.addr, align 4
  store %"struct.boost::test_tools::tt_detail::print_helper_t.46"* %5, %"struct.boost::test_tools::tt_detail::print_helper_t.46"** %4, align 4
  ret void
}

define linkonce_odr %"class.std::basic_ostream"* @_ZNK5boost9unit_test17lazy_ostream_implIRKNS_10test_tools9tt_detail14print_helper_tISt12_Ios_IostateEEEclERSo(%"class.boost::unit_test::lazy_ostream_impl.45"* %this, %"class.std::basic_ostream"* %ostr) unnamed_addr align 2 {
entry:
  %this.addr = alloca %"class.boost::unit_test::lazy_ostream_impl.45"*, align 4
  %ostr.addr = alloca %"class.std::basic_ostream"*, align 4
  store %"class.boost::unit_test::lazy_ostream_impl.45"* %this, %"class.boost::unit_test::lazy_ostream_impl.45"** %this.addr, align 4
  store %"class.std::basic_ostream"* %ostr, %"class.std::basic_ostream"** %ostr.addr, align 4
  %this1 = load %"class.boost::unit_test::lazy_ostream_impl.45"** %this.addr
  %m_prev = getelementptr inbounds %"class.boost::unit_test::lazy_ostream_impl.45"* %this1, i32 0, i32 1
  %ref = load %"class.boost::unit_test::lazy_ostream"** %m_prev, align 4
  %0 = bitcast %"class.boost::unit_test::lazy_ostream"* %ref to %"class.std::basic_ostream"* (%"class.boost::unit_test::lazy_ostream"*, %"class.std::basic_ostream"*)***
  %vtable = load %"class.std::basic_ostream"* (%"class.boost::unit_test::lazy_ostream"*, %"class.std::basic_ostream"*)*** %0
  %vfn = getelementptr inbounds %"class.std::basic_ostream"* (%"class.boost::unit_test::lazy_ostream"*, %"class.std::basic_ostream"*)** %vtable, i64 0
  %1 = load %"class.std::basic_ostream"* (%"class.boost::unit_test::lazy_ostream"*, %"class.std::basic_ostream"*)** %vfn
  %2 = load %"class.std::basic_ostream"** %ostr.addr, align 4
  %call = call %"class.std::basic_ostream"* %1(%"class.boost::unit_test::lazy_ostream"* %ref, %"class.std::basic_ostream"* %2)
  %m_value = getelementptr inbounds %"class.boost::unit_test::lazy_ostream_impl.45"* %this1, i32 0, i32 2
  %ref2 = load %"struct.boost::test_tools::tt_detail::print_helper_t.46"** %m_value, align 4
  %call3 = call %"class.std::basic_ostream"* @_ZN5boost10test_tools9tt_detaillsISt12_Ios_IostateEERSoS4_RKNS1_14print_helper_tIT_EE(%"class.std::basic_ostream"* %call, %"struct.boost::test_tools::tt_detail::print_helper_t.46"* %ref2)
  ret %"class.std::basic_ostream"* %call3
}

define linkonce_odr void @_ZN5boost9unit_test17lazy_ostream_implIRKNS_10test_tools9tt_detail14print_helper_tISt12_Ios_IostateEEED0Ev(%"class.boost::unit_test::lazy_ostream_impl.45"* %this) unnamed_addr inlinehint align 2 {
entry:
  %this.addr = alloca %"class.boost::unit_test::lazy_ostream_impl.45"*, align 4
  %exn.slot = alloca i8*
  %ehselector.slot = alloca i32
  store %"class.boost::unit_test::lazy_ostream_impl.45"* %this, %"class.boost::unit_test::lazy_ostream_impl.45"** %this.addr, align 4
  %this1 = load %"class.boost::unit_test::lazy_ostream_impl.45"** %this.addr
  invoke void @_ZN5boost9unit_test17lazy_ostream_implIRKNS_10test_tools9tt_detail14print_helper_tISt12_Ios_IostateEEED1Ev(%"class.boost::unit_test::lazy_ostream_impl.45"* %this1)
          to label %invoke.cont unwind label %lpad

invoke.cont:                                      ; preds = %entry
  %0 = bitcast %"class.boost::unit_test::lazy_ostream_impl.45"* %this1 to i8*
  call void @_ZdlPv(i8* %0) nounwind
  ret void

lpad:                                             ; preds = %entry
  %1 = landingpad { i8*, i32 } personality i8* bitcast (i32 (...)* @__gxx_personality_v0 to i8*)
          cleanup
  %2 = extractvalue { i8*, i32 } %1, 0
  store i8* %2, i8** %exn.slot
  %3 = extractvalue { i8*, i32 } %1, 1
  store i32 %3, i32* %ehselector.slot
  %4 = bitcast %"class.boost::unit_test::lazy_ostream_impl.45"* %this1 to i8*
  call void @_ZdlPv(i8* %4) nounwind
  br label %eh.resume

eh.resume:                                        ; preds = %lpad
  %exn = load i8** %exn.slot
  %sel = load i32* %ehselector.slot
  %lpad.val = insertvalue { i8*, i32 } undef, i8* %exn, 0
  %lpad.val2 = insertvalue { i8*, i32 } %lpad.val, i32 %sel, 1
  resume { i8*, i32 } %lpad.val2
}

define linkonce_odr %"class.std::basic_ostream"* @_ZN5boost10test_tools9tt_detaillsISt12_Ios_IostateEERSoS4_RKNS1_14print_helper_tIT_EE(%"class.std::basic_ostream"* %ostr, %"struct.boost::test_tools::tt_detail::print_helper_t.46"* %ph) inlinehint {
entry:
  %ostr.addr = alloca %"class.std::basic_ostream"*, align 4
  %ph.addr = alloca %"struct.boost::test_tools::tt_detail::print_helper_t.46"*, align 4
  %tmp = alloca %"struct.boost::test_tools::print_log_value.47", align 1
  store %"class.std::basic_ostream"* %ostr, %"class.std::basic_ostream"** %ostr.addr, align 4
  store %"struct.boost::test_tools::tt_detail::print_helper_t.46"* %ph, %"struct.boost::test_tools::tt_detail::print_helper_t.46"** %ph.addr, align 4
  %0 = load %"class.std::basic_ostream"** %ostr.addr, align 4
  %1 = load %"struct.boost::test_tools::tt_detail::print_helper_t.46"** %ph.addr, align 4
  %m_t = getelementptr inbounds %"struct.boost::test_tools::tt_detail::print_helper_t.46"* %1, i32 0, i32 0
  %ref = load i32** %m_t, align 4
  call void @_ZN5boost10test_tools15print_log_valueISt12_Ios_IostateEclERSoRKS2_(%"struct.boost::test_tools::print_log_value.47"* %tmp, %"class.std::basic_ostream"* %0, i32* %ref)
  %2 = load %"class.std::basic_ostream"** %ostr.addr, align 4
  ret %"class.std::basic_ostream"* %2
}

define linkonce_odr void @_ZN5boost10test_tools15print_log_valueISt12_Ios_IostateEclERSoRKS2_(%"struct.boost::test_tools::print_log_value.47"* %this, %"class.std::basic_ostream"* %ostr, i32* %t) align 2 {
entry:
  %this.addr = alloca %"struct.boost::test_tools::print_log_value.47"*, align 4
  %ostr.addr = alloca %"class.std::basic_ostream"*, align 4
  %t.addr = alloca i32*, align 4
  %agg.tmp = alloca %"struct.mpl_::bool_", align 1
  store %"struct.boost::test_tools::print_log_value.47"* %this, %"struct.boost::test_tools::print_log_value.47"** %this.addr, align 4
  store %"class.std::basic_ostream"* %ostr, %"class.std::basic_ostream"** %ostr.addr, align 4
  store i32* %t, i32** %t.addr, align 4
  %this1 = load %"struct.boost::test_tools::print_log_value.47"** %this.addr
  %0 = load i8* @_ZN5boost10test_tools12_GLOBAL__N_110dummy_condE, align 1
  %tobool = trunc i8 %0 to i1
  br i1 %tobool, label %if.then, label %if.end

if.then:                                          ; preds = %entry
  br label %if.end

if.end:                                           ; preds = %if.then, %entry
  %1 = load %"class.std::basic_ostream"** %ostr.addr, align 4
  call void @_ZN5boost10test_tools15print_log_valueISt12_Ios_IostateE13set_precisionERSoN4mpl_5bool_ILb0EEE(%"struct.boost::test_tools::print_log_value.47"* %this1, %"class.std::basic_ostream"* %1)
  %2 = load %"class.std::basic_ostream"** %ostr.addr, align 4
  %3 = load i32** %t.addr, align 4
  %4 = load i32* %3, align 4
  %call = call %"class.std::basic_ostream"* @_ZNSolsEi(%"class.std::basic_ostream"* %2, i32 %4)
  ret void
}

define linkonce_odr void @_ZN5boost10test_tools15print_log_valueISt12_Ios_IostateE13set_precisionERSoN4mpl_5bool_ILb0EEE(%"struct.boost::test_tools::print_log_value.47"* %this, %"class.std::basic_ostream"* %ostr) nounwind align 2 {
entry:
  %this.addr = alloca %"struct.boost::test_tools::print_log_value.47"*, align 4
  %ostr.addr = alloca %"class.std::basic_ostream"*, align 4
  %0 = alloca %"struct.mpl_::bool_", align 1
  store %"struct.boost::test_tools::print_log_value.47"* %this, %"struct.boost::test_tools::print_log_value.47"** %this.addr, align 4
  store %"class.std::basic_ostream"* %ostr, %"class.std::basic_ostream"** %ostr.addr, align 4
  %this1 = load %"struct.boost::test_tools::print_log_value.47"** %this.addr
  ret void
}

define linkonce_odr void @_ZNK5boost10test_tools9tt_detail15equal_impl_frwd9call_implISt12_Ios_IostateS4_EENS0_16predicate_resultERKT_RKT0_N4mpl_5bool_ILb0EEE(%"class.boost::test_tools::predicate_result"* noalias sret %agg.result, %"struct.boost::test_tools::tt_detail::equal_impl_frwd"* %this, i32* %left, i32* %right) inlinehint align 2 {
entry:
  %this.addr = alloca %"struct.boost::test_tools::tt_detail::equal_impl_frwd"*, align 4
  %left.addr = alloca i32*, align 4
  %right.addr = alloca i32*, align 4
  %0 = alloca %"struct.mpl_::bool_", align 1
  store %"struct.boost::test_tools::tt_detail::equal_impl_frwd"* %this, %"struct.boost::test_tools::tt_detail::equal_impl_frwd"** %this.addr, align 4
  store i32* %left, i32** %left.addr, align 4
  store i32* %right, i32** %right.addr, align 4
  %this1 = load %"struct.boost::test_tools::tt_detail::equal_impl_frwd"** %this.addr
  %1 = load i32** %left.addr, align 4
  %2 = load i32** %right.addr, align 4
  call void @_ZN5boost10test_tools9tt_detail10equal_implISt12_Ios_IostateS3_EENS0_16predicate_resultERKT_RKT0_(%"class.boost::test_tools::predicate_result"* sret %agg.result, i32* %1, i32* %2)
  ret void
}

define linkonce_odr void @_ZN5boost10test_tools9tt_detail10equal_implISt12_Ios_IostateS3_EENS0_16predicate_resultERKT_RKT0_(%"class.boost::test_tools::predicate_result"* noalias sret %agg.result, i32* %left, i32* %right) {
entry:
  %left.addr = alloca i32*, align 4
  %right.addr = alloca i32*, align 4
  store i32* %left, i32** %left.addr, align 4
  store i32* %right, i32** %right.addr, align 4
  %0 = load i32** %left.addr, align 4
  %1 = load i32* %0, align 4
  %2 = load i32** %right.addr, align 4
  %3 = load i32* %2, align 4
  %cmp = icmp eq i32 %1, %3
  call void @_ZN5boost10test_tools16predicate_resultC1Eb(%"class.boost::test_tools::predicate_result"* %agg.result, i1 zeroext %cmp)
  ret void
}

define linkonce_odr void @_ZNK5boost10test_tools9tt_detail15equal_impl_frwdclIiiEENS0_16predicate_resultERKT_RKT0_(%"class.boost::test_tools::predicate_result"* noalias sret %agg.result, %"struct.boost::test_tools::tt_detail::equal_impl_frwd"* %this, i32* %left, i32* %right) inlinehint align 2 {
entry:
  %this.addr = alloca %"struct.boost::test_tools::tt_detail::equal_impl_frwd"*, align 4
  %left.addr = alloca i32*, align 4
  %right.addr = alloca i32*, align 4
  %agg.tmp = alloca %"struct.mpl_::bool_", align 1
  %ref.tmp = alloca %"struct.boost::integral_constant", align 1
  store %"struct.boost::test_tools::tt_detail::equal_impl_frwd"* %this, %"struct.boost::test_tools::tt_detail::equal_impl_frwd"** %this.addr, align 4
  store i32* %left, i32** %left.addr, align 4
  store i32* %right, i32** %right.addr, align 4
  %this1 = load %"struct.boost::test_tools::tt_detail::equal_impl_frwd"** %this.addr
  %0 = load i32** %left.addr, align 4
  %1 = load i32** %right.addr, align 4
  %2 = bitcast %"struct.boost::integral_constant"* %ref.tmp to %"struct.mpl_::bool_"*
  call void @_ZNK5boost10test_tools9tt_detail15equal_impl_frwd9call_implIiiEENS0_16predicate_resultERKT_RKT0_N4mpl_5bool_ILb0EEE(%"class.boost::test_tools::predicate_result"* sret %agg.result, %"struct.boost::test_tools::tt_detail::equal_impl_frwd"* %this1, i32* %0, i32* %1)
  ret void
}

define linkonce_odr void @_ZNK5boost10test_tools9tt_detail15equal_impl_frwd9call_implIiiEENS0_16predicate_resultERKT_RKT0_N4mpl_5bool_ILb0EEE(%"class.boost::test_tools::predicate_result"* noalias sret %agg.result, %"struct.boost::test_tools::tt_detail::equal_impl_frwd"* %this, i32* %left, i32* %right) inlinehint align 2 {
entry:
  %this.addr = alloca %"struct.boost::test_tools::tt_detail::equal_impl_frwd"*, align 4
  %left.addr = alloca i32*, align 4
  %right.addr = alloca i32*, align 4
  %0 = alloca %"struct.mpl_::bool_", align 1
  store %"struct.boost::test_tools::tt_detail::equal_impl_frwd"* %this, %"struct.boost::test_tools::tt_detail::equal_impl_frwd"** %this.addr, align 4
  store i32* %left, i32** %left.addr, align 4
  store i32* %right, i32** %right.addr, align 4
  %this1 = load %"struct.boost::test_tools::tt_detail::equal_impl_frwd"** %this.addr
  %1 = load i32** %left.addr, align 4
  %2 = load i32** %right.addr, align 4
  call void @_ZN5boost10test_tools9tt_detail10equal_implIiiEENS0_16predicate_resultERKT_RKT0_(%"class.boost::test_tools::predicate_result"* sret %agg.result, i32* %1, i32* %2)
  ret void
}

define linkonce_odr void @_ZN5boost10test_tools9tt_detail10equal_implIiiEENS0_16predicate_resultERKT_RKT0_(%"class.boost::test_tools::predicate_result"* noalias sret %agg.result, i32* %left, i32* %right) {
entry:
  %left.addr = alloca i32*, align 4
  %right.addr = alloca i32*, align 4
  store i32* %left, i32** %left.addr, align 4
  store i32* %right, i32** %right.addr, align 4
  %0 = load i32** %left.addr, align 4
  %1 = load i32* %0, align 4
  %2 = load i32** %right.addr, align 4
  %3 = load i32* %2, align 4
  %cmp = icmp eq i32 %1, %3
  call void @_ZN5boost10test_tools16predicate_resultC1Eb(%"class.boost::test_tools::predicate_result"* %agg.result, i1 zeroext %cmp)
  ret void
}

define linkonce_odr void @_ZNK5boost10test_tools9tt_detail15equal_impl_frwdclISt13_Ios_FmtflagsS4_EENS0_16predicate_resultERKT_RKT0_(%"class.boost::test_tools::predicate_result"* noalias sret %agg.result, %"struct.boost::test_tools::tt_detail::equal_impl_frwd"* %this, i32* %left, i32* %right) inlinehint align 2 {
entry:
  %this.addr = alloca %"struct.boost::test_tools::tt_detail::equal_impl_frwd"*, align 4
  %left.addr = alloca i32*, align 4
  %right.addr = alloca i32*, align 4
  %agg.tmp = alloca %"struct.mpl_::bool_", align 1
  %ref.tmp = alloca %"struct.boost::integral_constant", align 1
  store %"struct.boost::test_tools::tt_detail::equal_impl_frwd"* %this, %"struct.boost::test_tools::tt_detail::equal_impl_frwd"** %this.addr, align 4
  store i32* %left, i32** %left.addr, align 4
  store i32* %right, i32** %right.addr, align 4
  %this1 = load %"struct.boost::test_tools::tt_detail::equal_impl_frwd"** %this.addr
  %0 = load i32** %left.addr, align 4
  %1 = load i32** %right.addr, align 4
  %2 = bitcast %"struct.boost::integral_constant"* %ref.tmp to %"struct.mpl_::bool_"*
  call void @_ZNK5boost10test_tools9tt_detail15equal_impl_frwd9call_implISt13_Ios_FmtflagsS4_EENS0_16predicate_resultERKT_RKT0_N4mpl_5bool_ILb0EEE(%"class.boost::test_tools::predicate_result"* sret %agg.result, %"struct.boost::test_tools::tt_detail::equal_impl_frwd"* %this1, i32* %0, i32* %1)
  ret void
}

define linkonce_odr void @_ZN5boost9unit_testlsINS_10test_tools9tt_detail14print_helper_tISt13_Ios_FmtflagsEEEENS0_17lazy_ostream_implIRKT_EERKNS0_12lazy_ostreamESA_(%"class.boost::unit_test::lazy_ostream_impl.48"* noalias sret %agg.result, %"class.boost::unit_test::lazy_ostream"* %prev, %"struct.boost::test_tools::tt_detail::print_helper_t.49"* %v) inlinehint {
entry:
  %prev.addr = alloca %"class.boost::unit_test::lazy_ostream"*, align 4
  %v.addr = alloca %"struct.boost::test_tools::tt_detail::print_helper_t.49"*, align 4
  store %"class.boost::unit_test::lazy_ostream"* %prev, %"class.boost::unit_test::lazy_ostream"** %prev.addr, align 4
  store %"struct.boost::test_tools::tt_detail::print_helper_t.49"* %v, %"struct.boost::test_tools::tt_detail::print_helper_t.49"** %v.addr, align 4
  %0 = load %"class.boost::unit_test::lazy_ostream"** %prev.addr, align 4
  %1 = load %"struct.boost::test_tools::tt_detail::print_helper_t.49"** %v.addr, align 4
  call void @_ZN5boost9unit_test17lazy_ostream_implIRKNS_10test_tools9tt_detail14print_helper_tISt13_Ios_FmtflagsEEEC1ERKNS0_12lazy_ostreamES8_(%"class.boost::unit_test::lazy_ostream_impl.48"* %agg.result, %"class.boost::unit_test::lazy_ostream"* %0, %"struct.boost::test_tools::tt_detail::print_helper_t.49"* %1)
  ret void
}

define linkonce_odr void @_ZN5boost10test_tools9tt_detail12print_helperISt13_Ios_FmtflagsEENS1_14print_helper_tIT_EERKS5_(%"struct.boost::test_tools::tt_detail::print_helper_t.49"* noalias sret %agg.result, i32* %t) inlinehint {
entry:
  %t.addr = alloca i32*, align 4
  store i32* %t, i32** %t.addr, align 4
  %0 = load i32** %t.addr, align 4
  call void @_ZN5boost10test_tools9tt_detail14print_helper_tISt13_Ios_FmtflagsEC1ERKS3_(%"struct.boost::test_tools::tt_detail::print_helper_t.49"* %agg.result, i32* %0)
  ret void
}

define linkonce_odr void @_ZN5boost9unit_test17lazy_ostream_implIRKNS_10test_tools9tt_detail14print_helper_tISt13_Ios_FmtflagsEEED1Ev(%"class.boost::unit_test::lazy_ostream_impl.48"* %this) unnamed_addr inlinehint align 2 {
entry:
  %this.addr = alloca %"class.boost::unit_test::lazy_ostream_impl.48"*, align 4
  store %"class.boost::unit_test::lazy_ostream_impl.48"* %this, %"class.boost::unit_test::lazy_ostream_impl.48"** %this.addr, align 4
  %this1 = load %"class.boost::unit_test::lazy_ostream_impl.48"** %this.addr
  call void @_ZN5boost9unit_test17lazy_ostream_implIRKNS_10test_tools9tt_detail14print_helper_tISt13_Ios_FmtflagsEEED2Ev(%"class.boost::unit_test::lazy_ostream_impl.48"* %this1)
  ret void
}

define linkonce_odr void @_ZN5boost9unit_test17lazy_ostream_implIRKNS_10test_tools9tt_detail14print_helper_tISt13_Ios_FmtflagsEEED2Ev(%"class.boost::unit_test::lazy_ostream_impl.48"* %this) unnamed_addr nounwind inlinehint align 2 {
entry:
  %this.addr = alloca %"class.boost::unit_test::lazy_ostream_impl.48"*, align 4
  store %"class.boost::unit_test::lazy_ostream_impl.48"* %this, %"class.boost::unit_test::lazy_ostream_impl.48"** %this.addr, align 4
  %this1 = load %"class.boost::unit_test::lazy_ostream_impl.48"** %this.addr
  %0 = bitcast %"class.boost::unit_test::lazy_ostream_impl.48"* %this1 to %"class.boost::unit_test::lazy_ostream"*
  call void @_ZN5boost9unit_test12lazy_ostreamD2Ev(%"class.boost::unit_test::lazy_ostream"* %0)
  ret void
}

define linkonce_odr void @_ZN5boost10test_tools9tt_detail14print_helper_tISt13_Ios_FmtflagsEC1ERKS3_(%"struct.boost::test_tools::tt_detail::print_helper_t.49"* %this, i32* %t) unnamed_addr align 2 {
entry:
  %this.addr = alloca %"struct.boost::test_tools::tt_detail::print_helper_t.49"*, align 4
  %t.addr = alloca i32*, align 4
  store %"struct.boost::test_tools::tt_detail::print_helper_t.49"* %this, %"struct.boost::test_tools::tt_detail::print_helper_t.49"** %this.addr, align 4
  store i32* %t, i32** %t.addr, align 4
  %this1 = load %"struct.boost::test_tools::tt_detail::print_helper_t.49"** %this.addr
  %0 = load i32** %t.addr
  call void @_ZN5boost10test_tools9tt_detail14print_helper_tISt13_Ios_FmtflagsEC2ERKS3_(%"struct.boost::test_tools::tt_detail::print_helper_t.49"* %this1, i32* %0)
  ret void
}

define linkonce_odr void @_ZN5boost10test_tools9tt_detail14print_helper_tISt13_Ios_FmtflagsEC2ERKS3_(%"struct.boost::test_tools::tt_detail::print_helper_t.49"* %this, i32* %t) unnamed_addr nounwind align 2 {
entry:
  %this.addr = alloca %"struct.boost::test_tools::tt_detail::print_helper_t.49"*, align 4
  %t.addr = alloca i32*, align 4
  store %"struct.boost::test_tools::tt_detail::print_helper_t.49"* %this, %"struct.boost::test_tools::tt_detail::print_helper_t.49"** %this.addr, align 4
  store i32* %t, i32** %t.addr, align 4
  %this1 = load %"struct.boost::test_tools::tt_detail::print_helper_t.49"** %this.addr
  %0 = getelementptr inbounds %"struct.boost::test_tools::tt_detail::print_helper_t.49"* %this1, i32 0, i32 0
  %1 = load i32** %t.addr, align 4
  store i32* %1, i32** %0, align 4
  ret void
}

define linkonce_odr void @_ZN5boost9unit_test17lazy_ostream_implIRKNS_10test_tools9tt_detail14print_helper_tISt13_Ios_FmtflagsEEEC1ERKNS0_12lazy_ostreamES8_(%"class.boost::unit_test::lazy_ostream_impl.48"* %this, %"class.boost::unit_test::lazy_ostream"* %prev, %"struct.boost::test_tools::tt_detail::print_helper_t.49"* %value) unnamed_addr align 2 {
entry:
  %this.addr = alloca %"class.boost::unit_test::lazy_ostream_impl.48"*, align 4
  %prev.addr = alloca %"class.boost::unit_test::lazy_ostream"*, align 4
  %value.addr = alloca %"struct.boost::test_tools::tt_detail::print_helper_t.49"*, align 4
  store %"class.boost::unit_test::lazy_ostream_impl.48"* %this, %"class.boost::unit_test::lazy_ostream_impl.48"** %this.addr, align 4
  store %"class.boost::unit_test::lazy_ostream"* %prev, %"class.boost::unit_test::lazy_ostream"** %prev.addr, align 4
  store %"struct.boost::test_tools::tt_detail::print_helper_t.49"* %value, %"struct.boost::test_tools::tt_detail::print_helper_t.49"** %value.addr, align 4
  %this1 = load %"class.boost::unit_test::lazy_ostream_impl.48"** %this.addr
  %0 = load %"class.boost::unit_test::lazy_ostream"** %prev.addr
  %1 = load %"struct.boost::test_tools::tt_detail::print_helper_t.49"** %value.addr
  call void @_ZN5boost9unit_test17lazy_ostream_implIRKNS_10test_tools9tt_detail14print_helper_tISt13_Ios_FmtflagsEEEC2ERKNS0_12lazy_ostreamES8_(%"class.boost::unit_test::lazy_ostream_impl.48"* %this1, %"class.boost::unit_test::lazy_ostream"* %0, %"struct.boost::test_tools::tt_detail::print_helper_t.49"* %1)
  ret void
}

define linkonce_odr void @_ZN5boost9unit_test17lazy_ostream_implIRKNS_10test_tools9tt_detail14print_helper_tISt13_Ios_FmtflagsEEEC2ERKNS0_12lazy_ostreamES8_(%"class.boost::unit_test::lazy_ostream_impl.48"* %this, %"class.boost::unit_test::lazy_ostream"* %prev, %"struct.boost::test_tools::tt_detail::print_helper_t.49"* %value) unnamed_addr nounwind align 2 {
entry:
  %this.addr = alloca %"class.boost::unit_test::lazy_ostream_impl.48"*, align 4
  %prev.addr = alloca %"class.boost::unit_test::lazy_ostream"*, align 4
  %value.addr = alloca %"struct.boost::test_tools::tt_detail::print_helper_t.49"*, align 4
  store %"class.boost::unit_test::lazy_ostream_impl.48"* %this, %"class.boost::unit_test::lazy_ostream_impl.48"** %this.addr, align 4
  store %"class.boost::unit_test::lazy_ostream"* %prev, %"class.boost::unit_test::lazy_ostream"** %prev.addr, align 4
  store %"struct.boost::test_tools::tt_detail::print_helper_t.49"* %value, %"struct.boost::test_tools::tt_detail::print_helper_t.49"** %value.addr, align 4
  %this1 = load %"class.boost::unit_test::lazy_ostream_impl.48"** %this.addr
  %0 = bitcast %"class.boost::unit_test::lazy_ostream_impl.48"* %this1 to %"class.boost::unit_test::lazy_ostream"*
  call void @_ZN5boost9unit_test12lazy_ostreamC2Eb(%"class.boost::unit_test::lazy_ostream"* %0, i1 zeroext false)
  %1 = bitcast %"class.boost::unit_test::lazy_ostream_impl.48"* %this1 to i8***
  store i8** getelementptr inbounds ([5 x i8*]* @_ZTVN5boost9unit_test17lazy_ostream_implIRKNS_10test_tools9tt_detail14print_helper_tISt13_Ios_FmtflagsEEEE, i64 0, i64 2), i8*** %1
  %2 = getelementptr inbounds %"class.boost::unit_test::lazy_ostream_impl.48"* %this1, i32 0, i32 1
  %3 = load %"class.boost::unit_test::lazy_ostream"** %prev.addr, align 4
  store %"class.boost::unit_test::lazy_ostream"* %3, %"class.boost::unit_test::lazy_ostream"** %2, align 4
  %4 = getelementptr inbounds %"class.boost::unit_test::lazy_ostream_impl.48"* %this1, i32 0, i32 2
  %5 = load %"struct.boost::test_tools::tt_detail::print_helper_t.49"** %value.addr, align 4
  store %"struct.boost::test_tools::tt_detail::print_helper_t.49"* %5, %"struct.boost::test_tools::tt_detail::print_helper_t.49"** %4, align 4
  ret void
}

define linkonce_odr %"class.std::basic_ostream"* @_ZNK5boost9unit_test17lazy_ostream_implIRKNS_10test_tools9tt_detail14print_helper_tISt13_Ios_FmtflagsEEEclERSo(%"class.boost::unit_test::lazy_ostream_impl.48"* %this, %"class.std::basic_ostream"* %ostr) unnamed_addr align 2 {
entry:
  %this.addr = alloca %"class.boost::unit_test::lazy_ostream_impl.48"*, align 4
  %ostr.addr = alloca %"class.std::basic_ostream"*, align 4
  store %"class.boost::unit_test::lazy_ostream_impl.48"* %this, %"class.boost::unit_test::lazy_ostream_impl.48"** %this.addr, align 4
  store %"class.std::basic_ostream"* %ostr, %"class.std::basic_ostream"** %ostr.addr, align 4
  %this1 = load %"class.boost::unit_test::lazy_ostream_impl.48"** %this.addr
  %m_prev = getelementptr inbounds %"class.boost::unit_test::lazy_ostream_impl.48"* %this1, i32 0, i32 1
  %ref = load %"class.boost::unit_test::lazy_ostream"** %m_prev, align 4
  %0 = bitcast %"class.boost::unit_test::lazy_ostream"* %ref to %"class.std::basic_ostream"* (%"class.boost::unit_test::lazy_ostream"*, %"class.std::basic_ostream"*)***
  %vtable = load %"class.std::basic_ostream"* (%"class.boost::unit_test::lazy_ostream"*, %"class.std::basic_ostream"*)*** %0
  %vfn = getelementptr inbounds %"class.std::basic_ostream"* (%"class.boost::unit_test::lazy_ostream"*, %"class.std::basic_ostream"*)** %vtable, i64 0
  %1 = load %"class.std::basic_ostream"* (%"class.boost::unit_test::lazy_ostream"*, %"class.std::basic_ostream"*)** %vfn
  %2 = load %"class.std::basic_ostream"** %ostr.addr, align 4
  %call = call %"class.std::basic_ostream"* %1(%"class.boost::unit_test::lazy_ostream"* %ref, %"class.std::basic_ostream"* %2)
  %m_value = getelementptr inbounds %"class.boost::unit_test::lazy_ostream_impl.48"* %this1, i32 0, i32 2
  %ref2 = load %"struct.boost::test_tools::tt_detail::print_helper_t.49"** %m_value, align 4
  %call3 = call %"class.std::basic_ostream"* @_ZN5boost10test_tools9tt_detaillsISt13_Ios_FmtflagsEERSoS4_RKNS1_14print_helper_tIT_EE(%"class.std::basic_ostream"* %call, %"struct.boost::test_tools::tt_detail::print_helper_t.49"* %ref2)
  ret %"class.std::basic_ostream"* %call3
}

define linkonce_odr void @_ZN5boost9unit_test17lazy_ostream_implIRKNS_10test_tools9tt_detail14print_helper_tISt13_Ios_FmtflagsEEED0Ev(%"class.boost::unit_test::lazy_ostream_impl.48"* %this) unnamed_addr inlinehint align 2 {
entry:
  %this.addr = alloca %"class.boost::unit_test::lazy_ostream_impl.48"*, align 4
  %exn.slot = alloca i8*
  %ehselector.slot = alloca i32
  store %"class.boost::unit_test::lazy_ostream_impl.48"* %this, %"class.boost::unit_test::lazy_ostream_impl.48"** %this.addr, align 4
  %this1 = load %"class.boost::unit_test::lazy_ostream_impl.48"** %this.addr
  invoke void @_ZN5boost9unit_test17lazy_ostream_implIRKNS_10test_tools9tt_detail14print_helper_tISt13_Ios_FmtflagsEEED1Ev(%"class.boost::unit_test::lazy_ostream_impl.48"* %this1)
          to label %invoke.cont unwind label %lpad

invoke.cont:                                      ; preds = %entry
  %0 = bitcast %"class.boost::unit_test::lazy_ostream_impl.48"* %this1 to i8*
  call void @_ZdlPv(i8* %0) nounwind
  ret void

lpad:                                             ; preds = %entry
  %1 = landingpad { i8*, i32 } personality i8* bitcast (i32 (...)* @__gxx_personality_v0 to i8*)
          cleanup
  %2 = extractvalue { i8*, i32 } %1, 0
  store i8* %2, i8** %exn.slot
  %3 = extractvalue { i8*, i32 } %1, 1
  store i32 %3, i32* %ehselector.slot
  %4 = bitcast %"class.boost::unit_test::lazy_ostream_impl.48"* %this1 to i8*
  call void @_ZdlPv(i8* %4) nounwind
  br label %eh.resume

eh.resume:                                        ; preds = %lpad
  %exn = load i8** %exn.slot
  %sel = load i32* %ehselector.slot
  %lpad.val = insertvalue { i8*, i32 } undef, i8* %exn, 0
  %lpad.val2 = insertvalue { i8*, i32 } %lpad.val, i32 %sel, 1
  resume { i8*, i32 } %lpad.val2
}

define linkonce_odr %"class.std::basic_ostream"* @_ZN5boost10test_tools9tt_detaillsISt13_Ios_FmtflagsEERSoS4_RKNS1_14print_helper_tIT_EE(%"class.std::basic_ostream"* %ostr, %"struct.boost::test_tools::tt_detail::print_helper_t.49"* %ph) inlinehint {
entry:
  %ostr.addr = alloca %"class.std::basic_ostream"*, align 4
  %ph.addr = alloca %"struct.boost::test_tools::tt_detail::print_helper_t.49"*, align 4
  %tmp = alloca %"struct.boost::test_tools::print_log_value.50", align 1
  store %"class.std::basic_ostream"* %ostr, %"class.std::basic_ostream"** %ostr.addr, align 4
  store %"struct.boost::test_tools::tt_detail::print_helper_t.49"* %ph, %"struct.boost::test_tools::tt_detail::print_helper_t.49"** %ph.addr, align 4
  %0 = load %"class.std::basic_ostream"** %ostr.addr, align 4
  %1 = load %"struct.boost::test_tools::tt_detail::print_helper_t.49"** %ph.addr, align 4
  %m_t = getelementptr inbounds %"struct.boost::test_tools::tt_detail::print_helper_t.49"* %1, i32 0, i32 0
  %ref = load i32** %m_t, align 4
  call void @_ZN5boost10test_tools15print_log_valueISt13_Ios_FmtflagsEclERSoRKS2_(%"struct.boost::test_tools::print_log_value.50"* %tmp, %"class.std::basic_ostream"* %0, i32* %ref)
  %2 = load %"class.std::basic_ostream"** %ostr.addr, align 4
  ret %"class.std::basic_ostream"* %2
}

define linkonce_odr void @_ZN5boost10test_tools15print_log_valueISt13_Ios_FmtflagsEclERSoRKS2_(%"struct.boost::test_tools::print_log_value.50"* %this, %"class.std::basic_ostream"* %ostr, i32* %t) align 2 {
entry:
  %this.addr = alloca %"struct.boost::test_tools::print_log_value.50"*, align 4
  %ostr.addr = alloca %"class.std::basic_ostream"*, align 4
  %t.addr = alloca i32*, align 4
  %agg.tmp = alloca %"struct.mpl_::bool_", align 1
  store %"struct.boost::test_tools::print_log_value.50"* %this, %"struct.boost::test_tools::print_log_value.50"** %this.addr, align 4
  store %"class.std::basic_ostream"* %ostr, %"class.std::basic_ostream"** %ostr.addr, align 4
  store i32* %t, i32** %t.addr, align 4
  %this1 = load %"struct.boost::test_tools::print_log_value.50"** %this.addr
  %0 = load i8* @_ZN5boost10test_tools12_GLOBAL__N_110dummy_condE, align 1
  %tobool = trunc i8 %0 to i1
  br i1 %tobool, label %if.then, label %if.end

if.then:                                          ; preds = %entry
  br label %if.end

if.end:                                           ; preds = %if.then, %entry
  %1 = load %"class.std::basic_ostream"** %ostr.addr, align 4
  call void @_ZN5boost10test_tools15print_log_valueISt13_Ios_FmtflagsE13set_precisionERSoN4mpl_5bool_ILb0EEE(%"struct.boost::test_tools::print_log_value.50"* %this1, %"class.std::basic_ostream"* %1)
  %2 = load %"class.std::basic_ostream"** %ostr.addr, align 4
  %3 = load i32** %t.addr, align 4
  %4 = load i32* %3, align 4
  %call = call %"class.std::basic_ostream"* @_ZNSolsEi(%"class.std::basic_ostream"* %2, i32 %4)
  ret void
}

define linkonce_odr void @_ZN5boost10test_tools15print_log_valueISt13_Ios_FmtflagsE13set_precisionERSoN4mpl_5bool_ILb0EEE(%"struct.boost::test_tools::print_log_value.50"* %this, %"class.std::basic_ostream"* %ostr) nounwind align 2 {
entry:
  %this.addr = alloca %"struct.boost::test_tools::print_log_value.50"*, align 4
  %ostr.addr = alloca %"class.std::basic_ostream"*, align 4
  %0 = alloca %"struct.mpl_::bool_", align 1
  store %"struct.boost::test_tools::print_log_value.50"* %this, %"struct.boost::test_tools::print_log_value.50"** %this.addr, align 4
  store %"class.std::basic_ostream"* %ostr, %"class.std::basic_ostream"** %ostr.addr, align 4
  %this1 = load %"struct.boost::test_tools::print_log_value.50"** %this.addr
  ret void
}

define linkonce_odr void @_ZNK5boost10test_tools9tt_detail15equal_impl_frwd9call_implISt13_Ios_FmtflagsS4_EENS0_16predicate_resultERKT_RKT0_N4mpl_5bool_ILb0EEE(%"class.boost::test_tools::predicate_result"* noalias sret %agg.result, %"struct.boost::test_tools::tt_detail::equal_impl_frwd"* %this, i32* %left, i32* %right) inlinehint align 2 {
entry:
  %this.addr = alloca %"struct.boost::test_tools::tt_detail::equal_impl_frwd"*, align 4
  %left.addr = alloca i32*, align 4
  %right.addr = alloca i32*, align 4
  %0 = alloca %"struct.mpl_::bool_", align 1
  store %"struct.boost::test_tools::tt_detail::equal_impl_frwd"* %this, %"struct.boost::test_tools::tt_detail::equal_impl_frwd"** %this.addr, align 4
  store i32* %left, i32** %left.addr, align 4
  store i32* %right, i32** %right.addr, align 4
  %this1 = load %"struct.boost::test_tools::tt_detail::equal_impl_frwd"** %this.addr
  %1 = load i32** %left.addr, align 4
  %2 = load i32** %right.addr, align 4
  call void @_ZN5boost10test_tools9tt_detail10equal_implISt13_Ios_FmtflagsS3_EENS0_16predicate_resultERKT_RKT0_(%"class.boost::test_tools::predicate_result"* sret %agg.result, i32* %1, i32* %2)
  ret void
}

define linkonce_odr void @_ZN5boost10test_tools9tt_detail10equal_implISt13_Ios_FmtflagsS3_EENS0_16predicate_resultERKT_RKT0_(%"class.boost::test_tools::predicate_result"* noalias sret %agg.result, i32* %left, i32* %right) {
entry:
  %left.addr = alloca i32*, align 4
  %right.addr = alloca i32*, align 4
  store i32* %left, i32** %left.addr, align 4
  store i32* %right, i32** %right.addr, align 4
  %0 = load i32** %left.addr, align 4
  %1 = load i32* %0, align 4
  %2 = load i32** %right.addr, align 4
  %3 = load i32* %2, align 4
  %cmp = icmp eq i32 %1, %3
  call void @_ZN5boost10test_tools16predicate_resultC1Eb(%"class.boost::test_tools::predicate_result"* %agg.result, i1 zeroext %cmp)
  ret void
}

define linkonce_odr void @_ZN5boost9unit_test17lazy_ostream_implIRA1_KcEC1ERKNS0_12lazy_ostreamES4_(%"class.boost::unit_test::lazy_ostream_impl"* %this, %"class.boost::unit_test::lazy_ostream"* %prev, [1 x i8]* %value) unnamed_addr align 2 {
entry:
  %this.addr = alloca %"class.boost::unit_test::lazy_ostream_impl"*, align 4
  %prev.addr = alloca %"class.boost::unit_test::lazy_ostream"*, align 4
  %value.addr = alloca [1 x i8]*, align 4
  store %"class.boost::unit_test::lazy_ostream_impl"* %this, %"class.boost::unit_test::lazy_ostream_impl"** %this.addr, align 4
  store %"class.boost::unit_test::lazy_ostream"* %prev, %"class.boost::unit_test::lazy_ostream"** %prev.addr, align 4
  store [1 x i8]* %value, [1 x i8]** %value.addr, align 4
  %this1 = load %"class.boost::unit_test::lazy_ostream_impl"** %this.addr
  %0 = load %"class.boost::unit_test::lazy_ostream"** %prev.addr
  %1 = load [1 x i8]** %value.addr
  call void @_ZN5boost9unit_test17lazy_ostream_implIRA1_KcEC2ERKNS0_12lazy_ostreamES4_(%"class.boost::unit_test::lazy_ostream_impl"* %this1, %"class.boost::unit_test::lazy_ostream"* %0, [1 x i8]* %1)
  ret void
}

define linkonce_odr void @_ZN5boost9unit_test17lazy_ostream_implIRA1_KcEC2ERKNS0_12lazy_ostreamES4_(%"class.boost::unit_test::lazy_ostream_impl"* %this, %"class.boost::unit_test::lazy_ostream"* %prev, [1 x i8]* %value) unnamed_addr nounwind align 2 {
entry:
  %this.addr = alloca %"class.boost::unit_test::lazy_ostream_impl"*, align 4
  %prev.addr = alloca %"class.boost::unit_test::lazy_ostream"*, align 4
  %value.addr = alloca [1 x i8]*, align 4
  store %"class.boost::unit_test::lazy_ostream_impl"* %this, %"class.boost::unit_test::lazy_ostream_impl"** %this.addr, align 4
  store %"class.boost::unit_test::lazy_ostream"* %prev, %"class.boost::unit_test::lazy_ostream"** %prev.addr, align 4
  store [1 x i8]* %value, [1 x i8]** %value.addr, align 4
  %this1 = load %"class.boost::unit_test::lazy_ostream_impl"** %this.addr
  %0 = bitcast %"class.boost::unit_test::lazy_ostream_impl"* %this1 to %"class.boost::unit_test::lazy_ostream"*
  call void @_ZN5boost9unit_test12lazy_ostreamC2Eb(%"class.boost::unit_test::lazy_ostream"* %0, i1 zeroext false)
  %1 = bitcast %"class.boost::unit_test::lazy_ostream_impl"* %this1 to i8***
  store i8** getelementptr inbounds ([5 x i8*]* @_ZTVN5boost9unit_test17lazy_ostream_implIRA1_KcEE, i64 0, i64 2), i8*** %1
  %2 = getelementptr inbounds %"class.boost::unit_test::lazy_ostream_impl"* %this1, i32 0, i32 1
  %3 = load %"class.boost::unit_test::lazy_ostream"** %prev.addr, align 4
  store %"class.boost::unit_test::lazy_ostream"* %3, %"class.boost::unit_test::lazy_ostream"** %2, align 4
  %4 = getelementptr inbounds %"class.boost::unit_test::lazy_ostream_impl"* %this1, i32 0, i32 2
  %5 = load [1 x i8]** %value.addr, align 4
  store [1 x i8]* %5, [1 x i8]** %4, align 4
  ret void
}

define linkonce_odr %"class.std::basic_ostream"* @_ZNK5boost9unit_test17lazy_ostream_implIRA1_KcEclERSo(%"class.boost::unit_test::lazy_ostream_impl"* %this, %"class.std::basic_ostream"* %ostr) unnamed_addr align 2 {
entry:
  %this.addr = alloca %"class.boost::unit_test::lazy_ostream_impl"*, align 4
  %ostr.addr = alloca %"class.std::basic_ostream"*, align 4
  store %"class.boost::unit_test::lazy_ostream_impl"* %this, %"class.boost::unit_test::lazy_ostream_impl"** %this.addr, align 4
  store %"class.std::basic_ostream"* %ostr, %"class.std::basic_ostream"** %ostr.addr, align 4
  %this1 = load %"class.boost::unit_test::lazy_ostream_impl"** %this.addr
  %m_prev = getelementptr inbounds %"class.boost::unit_test::lazy_ostream_impl"* %this1, i32 0, i32 1
  %ref = load %"class.boost::unit_test::lazy_ostream"** %m_prev, align 4
  %0 = bitcast %"class.boost::unit_test::lazy_ostream"* %ref to %"class.std::basic_ostream"* (%"class.boost::unit_test::lazy_ostream"*, %"class.std::basic_ostream"*)***
  %vtable = load %"class.std::basic_ostream"* (%"class.boost::unit_test::lazy_ostream"*, %"class.std::basic_ostream"*)*** %0
  %vfn = getelementptr inbounds %"class.std::basic_ostream"* (%"class.boost::unit_test::lazy_ostream"*, %"class.std::basic_ostream"*)** %vtable, i64 0
  %1 = load %"class.std::basic_ostream"* (%"class.boost::unit_test::lazy_ostream"*, %"class.std::basic_ostream"*)** %vfn
  %2 = load %"class.std::basic_ostream"** %ostr.addr, align 4
  %call = call %"class.std::basic_ostream"* %1(%"class.boost::unit_test::lazy_ostream"* %ref, %"class.std::basic_ostream"* %2)
  %m_value = getelementptr inbounds %"class.boost::unit_test::lazy_ostream_impl"* %this1, i32 0, i32 2
  %ref2 = load [1 x i8]** %m_value, align 4
  %arraydecay = getelementptr inbounds [1 x i8]* %ref2, i32 0, i32 0
  %call3 = call %"class.std::basic_ostream"* @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(%"class.std::basic_ostream"* %call, i8* %arraydecay)
  ret %"class.std::basic_ostream"* %call3
}

define linkonce_odr void @_ZN5boost9unit_test17lazy_ostream_implIRA1_KcED0Ev(%"class.boost::unit_test::lazy_ostream_impl"* %this) unnamed_addr inlinehint align 2 {
entry:
  %this.addr = alloca %"class.boost::unit_test::lazy_ostream_impl"*, align 4
  %exn.slot = alloca i8*
  %ehselector.slot = alloca i32
  store %"class.boost::unit_test::lazy_ostream_impl"* %this, %"class.boost::unit_test::lazy_ostream_impl"** %this.addr, align 4
  %this1 = load %"class.boost::unit_test::lazy_ostream_impl"** %this.addr
  invoke void @_ZN5boost9unit_test17lazy_ostream_implIRA1_KcED1Ev(%"class.boost::unit_test::lazy_ostream_impl"* %this1)
          to label %invoke.cont unwind label %lpad

invoke.cont:                                      ; preds = %entry
  %0 = bitcast %"class.boost::unit_test::lazy_ostream_impl"* %this1 to i8*
  call void @_ZdlPv(i8* %0) nounwind
  ret void

lpad:                                             ; preds = %entry
  %1 = landingpad { i8*, i32 } personality i8* bitcast (i32 (...)* @__gxx_personality_v0 to i8*)
          cleanup
  %2 = extractvalue { i8*, i32 } %1, 0
  store i8* %2, i8** %exn.slot
  %3 = extractvalue { i8*, i32 } %1, 1
  store i32 %3, i32* %ehselector.slot
  %4 = bitcast %"class.boost::unit_test::lazy_ostream_impl"* %this1 to i8*
  call void @_ZdlPv(i8* %4) nounwind
  br label %eh.resume

eh.resume:                                        ; preds = %lpad
  %exn = load i8** %exn.slot
  %sel = load i32* %ehselector.slot
  %lpad.val = insertvalue { i8*, i32 } undef, i8* %exn, 0
  %lpad.val2 = insertvalue { i8*, i32 } %lpad.val, i32 %sel, 1
  resume { i8*, i32 } %lpad.val2
}

define linkonce_odr void @_ZN5boost9unit_test13basic_cstringIKcEC2EPS2_j(%"class.boost::unit_test::basic_cstring"* %this, i8* %s, i32 %arg_size) unnamed_addr nounwind align 2 {
entry:
  %this.addr = alloca %"class.boost::unit_test::basic_cstring"*, align 4
  %s.addr = alloca i8*, align 4
  %arg_size.addr = alloca i32, align 4
  store %"class.boost::unit_test::basic_cstring"* %this, %"class.boost::unit_test::basic_cstring"** %this.addr, align 4
  store i8* %s, i8** %s.addr, align 4
  store i32 %arg_size, i32* %arg_size.addr, align 4
  %this1 = load %"class.boost::unit_test::basic_cstring"** %this.addr
  %m_begin = getelementptr inbounds %"class.boost::unit_test::basic_cstring"* %this1, i32 0, i32 0
  %0 = load i8** %s.addr, align 4
  store i8* %0, i8** %m_begin, align 4
  %m_end = getelementptr inbounds %"class.boost::unit_test::basic_cstring"* %this1, i32 0, i32 1
  %m_begin2 = getelementptr inbounds %"class.boost::unit_test::basic_cstring"* %this1, i32 0, i32 0
  %1 = load i8** %m_begin2, align 4
  %2 = load i32* %arg_size.addr, align 4
  %add.ptr = getelementptr inbounds i8* %1, i32 %2
  store i8* %add.ptr, i8** %m_end, align 4
  ret void
}

define linkonce_odr void @_ZN5boost9unit_test13basic_cstringIKcEC2EPS2_(%"class.boost::unit_test::basic_cstring"* %this, i8* %s) unnamed_addr align 2 {
entry:
  %this.addr = alloca %"class.boost::unit_test::basic_cstring"*, align 4
  %s.addr = alloca i8*, align 4
  store %"class.boost::unit_test::basic_cstring"* %this, %"class.boost::unit_test::basic_cstring"** %this.addr, align 4
  store i8* %s, i8** %s.addr, align 4
  %this1 = load %"class.boost::unit_test::basic_cstring"** %this.addr
  %m_begin = getelementptr inbounds %"class.boost::unit_test::basic_cstring"* %this1, i32 0, i32 0
  %0 = load i8** %s.addr, align 4
  %tobool = icmp ne i8* %0, null
  br i1 %tobool, label %cond.true, label %cond.false

cond.true:                                        ; preds = %entry
  %1 = load i8** %s.addr, align 4
  br label %cond.end

cond.false:                                       ; preds = %entry
  %call = call i8* @_ZN5boost9unit_test13basic_cstringIKcE8null_strEv()
  br label %cond.end

cond.end:                                         ; preds = %cond.false, %cond.true
  %cond = phi i8* [ %1, %cond.true ], [ %call, %cond.false ]
  store i8* %cond, i8** %m_begin, align 4
  %m_end = getelementptr inbounds %"class.boost::unit_test::basic_cstring"* %this1, i32 0, i32 1
  %m_begin2 = getelementptr inbounds %"class.boost::unit_test::basic_cstring"* %this1, i32 0, i32 0
  %2 = load i8** %m_begin2, align 4
  %3 = load i8** %s.addr, align 4
  %tobool3 = icmp ne i8* %3, null
  br i1 %tobool3, label %cond.true4, label %cond.false6

cond.true4:                                       ; preds = %cond.end
  %4 = load i8** %s.addr, align 4
  %call5 = call i32 @_ZN5boost9unit_test9ut_detail20bcs_char_traits_implIKcE6lengthEPS3_(i8* %4)
  br label %cond.end7

cond.false6:                                      ; preds = %cond.end
  br label %cond.end7

cond.end7:                                        ; preds = %cond.false6, %cond.true4
  %cond8 = phi i32 [ %call5, %cond.true4 ], [ 0, %cond.false6 ]
  %add.ptr = getelementptr inbounds i8* %2, i32 %cond8
  store i8* %add.ptr, i8** %m_end, align 4
  ret void
}

define linkonce_odr i8* @_ZN5boost9unit_test13basic_cstringIKcE8null_strEv() nounwind align 2 {
entry:
  ret i8* @_ZZN5boost9unit_test13basic_cstringIKcE8null_strEvE4null
}

define linkonce_odr i32 @_ZN5boost9unit_test9ut_detail20bcs_char_traits_implIKcE6lengthEPS3_(i8* %cstr) align 2 {
entry:
  %cstr.addr = alloca i8*, align 4
  %null_char = alloca i8, align 1
  %ptr = alloca i8*, align 4
  store i8* %cstr, i8** %cstr.addr, align 4
  store i8 0, i8* %null_char, align 1
  %0 = load i8** %cstr.addr, align 4
  store i8* %0, i8** %ptr, align 4
  br label %while.cond

while.cond:                                       ; preds = %while.body, %entry
  %1 = load i8** %ptr, align 4
  %2 = load i8* %1, align 1
  %call = call zeroext i1 @_ZN5boost9unit_test9ut_detail20bcs_char_traits_implIKcE2eqEcc(i8 signext %2, i8 signext 0)
  %lnot = xor i1 %call, true
  br i1 %lnot, label %while.body, label %while.end

while.body:                                       ; preds = %while.cond
  %3 = load i8** %ptr, align 4
  %incdec.ptr = getelementptr inbounds i8* %3, i32 1
  store i8* %incdec.ptr, i8** %ptr, align 4
  br label %while.cond

while.end:                                        ; preds = %while.cond
  %4 = load i8** %ptr, align 4
  %5 = load i8** %cstr.addr, align 4
  %sub.ptr.lhs.cast = ptrtoint i8* %4 to i32
  %sub.ptr.rhs.cast = ptrtoint i8* %5 to i32
  %sub.ptr.sub = sub i32 %sub.ptr.lhs.cast, %sub.ptr.rhs.cast
  ret i32 %sub.ptr.sub
}

define linkonce_odr zeroext i1 @_ZN5boost9unit_test9ut_detail20bcs_char_traits_implIKcE2eqEcc(i8 signext %c1, i8 signext %c2) nounwind align 2 {
entry:
  %c1.addr = alloca i8, align 1
  %c2.addr = alloca i8, align 1
  store i8 %c1, i8* %c1.addr, align 1
  store i8 %c2, i8* %c2.addr, align 1
  %0 = load i8* %c1.addr, align 1
  %conv = sext i8 %0 to i32
  %1 = load i8* %c2.addr, align 1
  %conv1 = sext i8 %1 to i32
  %cmp = icmp eq i32 %conv, %conv1
  ret i1 %cmp
}

declare i32 @__cxa_guard_acquire(i64*) nounwind

define linkonce_odr void @_ZN5boost9unit_test15unit_test_log_tC1Ev(%"class.boost::unit_test::unit_test_log_t"* %this) unnamed_addr align 2 {
entry:
  %this.addr = alloca %"class.boost::unit_test::unit_test_log_t"*, align 4
  store %"class.boost::unit_test::unit_test_log_t"* %this, %"class.boost::unit_test::unit_test_log_t"** %this.addr, align 4
  %this1 = load %"class.boost::unit_test::unit_test_log_t"** %this.addr
  call void @_ZN5boost9unit_test15unit_test_log_tC2Ev(%"class.boost::unit_test::unit_test_log_t"* %this1)
  ret void
}

define linkonce_odr void @_ZN5boost9unit_test15unit_test_log_tD1Ev(%"class.boost::unit_test::unit_test_log_t"* %this) unnamed_addr inlinehint align 2 {
entry:
  %this.addr = alloca %"class.boost::unit_test::unit_test_log_t"*, align 4
  store %"class.boost::unit_test::unit_test_log_t"* %this, %"class.boost::unit_test::unit_test_log_t"** %this.addr, align 4
  %this1 = load %"class.boost::unit_test::unit_test_log_t"** %this.addr
  call void @_ZN5boost9unit_test15unit_test_log_tD2Ev(%"class.boost::unit_test::unit_test_log_t"* %this1)
  ret void
}

declare void @__cxa_guard_abort(i64*) nounwind

declare void @__cxa_guard_release(i64*) nounwind

define linkonce_odr void @_ZN5boost9unit_test15unit_test_log_tD2Ev(%"class.boost::unit_test::unit_test_log_t"* %this) unnamed_addr inlinehint align 2 {
entry:
  %this.addr = alloca %"class.boost::unit_test::unit_test_log_t"*, align 4
  %exn.slot = alloca i8*
  %ehselector.slot = alloca i32
  store %"class.boost::unit_test::unit_test_log_t"* %this, %"class.boost::unit_test::unit_test_log_t"** %this.addr, align 4
  %this1 = load %"class.boost::unit_test::unit_test_log_t"** %this.addr
  %0 = bitcast %"class.boost::unit_test::unit_test_log_t"* %this1 to %"class.boost::unit_test::singleton"*
  invoke void @_ZN5boost9unit_test9singletonINS0_15unit_test_log_tEED2Ev(%"class.boost::unit_test::singleton"* %0)
          to label %invoke.cont unwind label %lpad

invoke.cont:                                      ; preds = %entry
  %1 = bitcast %"class.boost::unit_test::unit_test_log_t"* %this1 to %"class.boost::unit_test::test_observer"*
  call void @_ZN5boost9unit_test13test_observerD2Ev(%"class.boost::unit_test::test_observer"* %1)
  ret void

lpad:                                             ; preds = %entry
  %2 = landingpad { i8*, i32 } personality i8* bitcast (i32 (...)* @__gxx_personality_v0 to i8*)
          cleanup
  %3 = extractvalue { i8*, i32 } %2, 0
  store i8* %3, i8** %exn.slot
  %4 = extractvalue { i8*, i32 } %2, 1
  store i32 %4, i32* %ehselector.slot
  %5 = bitcast %"class.boost::unit_test::unit_test_log_t"* %this1 to %"class.boost::unit_test::test_observer"*
  invoke void @_ZN5boost9unit_test13test_observerD2Ev(%"class.boost::unit_test::test_observer"* %5)
          to label %invoke.cont2 unwind label %terminate.lpad

invoke.cont2:                                     ; preds = %lpad
  br label %eh.resume

eh.resume:                                        ; preds = %invoke.cont2
  %exn = load i8** %exn.slot
  %sel = load i32* %ehselector.slot
  %lpad.val = insertvalue { i8*, i32 } undef, i8* %exn, 0
  %lpad.val3 = insertvalue { i8*, i32 } %lpad.val, i32 %sel, 1
  resume { i8*, i32 } %lpad.val3

terminate.lpad:                                   ; preds = %lpad
  %6 = landingpad { i8*, i32 } personality i8* bitcast (i32 (...)* @__gxx_personality_v0 to i8*)
          catch i8* null
  call void @_ZSt9terminatev() noreturn nounwind
  unreachable
}

define linkonce_odr void @_ZN5boost9unit_test9singletonINS0_15unit_test_log_tEED2Ev(%"class.boost::unit_test::singleton"* %this) unnamed_addr align 2 {
entry:
  %this.addr = alloca %"class.boost::unit_test::singleton"*, align 4
  store %"class.boost::unit_test::singleton"* %this, %"class.boost::unit_test::singleton"** %this.addr, align 4
  %this1 = load %"class.boost::unit_test::singleton"** %this.addr
  %0 = bitcast %"class.boost::unit_test::singleton"* %this1 to %"class.boost::noncopyable_::noncopyable"*
  call void @_ZN5boost12noncopyable_11noncopyableD2Ev(%"class.boost::noncopyable_::noncopyable"* %0)
  ret void
}

define linkonce_odr void @_ZN5boost9unit_test13test_observerD2Ev(%"class.boost::unit_test::test_observer"* %this) unnamed_addr nounwind align 2 {
entry:
  %this.addr = alloca %"class.boost::unit_test::test_observer"*, align 4
  store %"class.boost::unit_test::test_observer"* %this, %"class.boost::unit_test::test_observer"** %this.addr, align 4
  %this1 = load %"class.boost::unit_test::test_observer"** %this.addr
  ret void
}

define linkonce_odr void @_ZN5boost12noncopyable_11noncopyableD2Ev(%"class.boost::noncopyable_::noncopyable"* %this) unnamed_addr nounwind align 2 {
entry:
  %this.addr = alloca %"class.boost::noncopyable_::noncopyable"*, align 4
  store %"class.boost::noncopyable_::noncopyable"* %this, %"class.boost::noncopyable_::noncopyable"** %this.addr, align 4
  %this1 = load %"class.boost::noncopyable_::noncopyable"** %this.addr
  ret void
}

define linkonce_odr void @_ZN5boost9unit_test15unit_test_log_tC2Ev(%"class.boost::unit_test::unit_test_log_t"* %this) unnamed_addr align 2 {
entry:
  %this.addr = alloca %"class.boost::unit_test::unit_test_log_t"*, align 4
  %exn.slot = alloca i8*
  %ehselector.slot = alloca i32
  store %"class.boost::unit_test::unit_test_log_t"* %this, %"class.boost::unit_test::unit_test_log_t"** %this.addr, align 4
  %this1 = load %"class.boost::unit_test::unit_test_log_t"** %this.addr
  %0 = bitcast %"class.boost::unit_test::unit_test_log_t"* %this1 to %"class.boost::unit_test::test_observer"*
  call void @_ZN5boost9unit_test13test_observerC2Ev(%"class.boost::unit_test::test_observer"* %0) nounwind
  %1 = bitcast %"class.boost::unit_test::unit_test_log_t"* %this1 to %"class.boost::unit_test::singleton"*
  invoke void @_ZN5boost9unit_test9singletonINS0_15unit_test_log_tEEC2Ev(%"class.boost::unit_test::singleton"* %1)
          to label %invoke.cont unwind label %lpad

invoke.cont:                                      ; preds = %entry
  %2 = bitcast %"class.boost::unit_test::unit_test_log_t"* %this1 to i8***
  store i8** getelementptr inbounds ([14 x i8*]* @_ZTVN5boost9unit_test15unit_test_log_tE, i64 0, i64 2), i8*** %2
  ret void

lpad:                                             ; preds = %entry
  %3 = landingpad { i8*, i32 } personality i8* bitcast (i32 (...)* @__gxx_personality_v0 to i8*)
          cleanup
  %4 = extractvalue { i8*, i32 } %3, 0
  store i8* %4, i8** %exn.slot
  %5 = extractvalue { i8*, i32 } %3, 1
  store i32 %5, i32* %ehselector.slot
  %6 = bitcast %"class.boost::unit_test::unit_test_log_t"* %this1 to %"class.boost::unit_test::test_observer"*
  invoke void @_ZN5boost9unit_test13test_observerD2Ev(%"class.boost::unit_test::test_observer"* %6)
          to label %invoke.cont2 unwind label %terminate.lpad

invoke.cont2:                                     ; preds = %lpad
  br label %eh.resume

eh.resume:                                        ; preds = %invoke.cont2
  %exn = load i8** %exn.slot
  %sel = load i32* %ehselector.slot
  %lpad.val = insertvalue { i8*, i32 } undef, i8* %exn, 0
  %lpad.val3 = insertvalue { i8*, i32 } %lpad.val, i32 %sel, 1
  resume { i8*, i32 } %lpad.val3

terminate.lpad:                                   ; preds = %lpad
  %7 = landingpad { i8*, i32 } personality i8* bitcast (i32 (...)* @__gxx_personality_v0 to i8*)
          catch i8* null
  call void @_ZSt9terminatev() noreturn nounwind
  unreachable
}

define linkonce_odr void @_ZN5boost9unit_test13test_observerC2Ev(%"class.boost::unit_test::test_observer"* %this) unnamed_addr nounwind inlinehint align 2 {
entry:
  %this.addr = alloca %"class.boost::unit_test::test_observer"*, align 4
  store %"class.boost::unit_test::test_observer"* %this, %"class.boost::unit_test::test_observer"** %this.addr, align 4
  %this1 = load %"class.boost::unit_test::test_observer"** %this.addr
  %0 = bitcast %"class.boost::unit_test::test_observer"* %this1 to i8***
  store i8** getelementptr inbounds ([14 x i8*]* @_ZTVN5boost9unit_test13test_observerE, i64 0, i64 2), i8*** %0
  ret void
}

define linkonce_odr void @_ZN5boost9unit_test9singletonINS0_15unit_test_log_tEEC2Ev(%"class.boost::unit_test::singleton"* %this) unnamed_addr align 2 {
entry:
  %this.addr = alloca %"class.boost::unit_test::singleton"*, align 4
  store %"class.boost::unit_test::singleton"* %this, %"class.boost::unit_test::singleton"** %this.addr, align 4
  %this1 = load %"class.boost::unit_test::singleton"** %this.addr
  %0 = bitcast %"class.boost::unit_test::singleton"* %this1 to %"class.boost::noncopyable_::noncopyable"*
  call void @_ZN5boost12noncopyable_11noncopyableC2Ev(%"class.boost::noncopyable_::noncopyable"* %0)
  ret void
}

define linkonce_odr void @_ZN5boost12noncopyable_11noncopyableC2Ev(%"class.boost::noncopyable_::noncopyable"* %this) unnamed_addr nounwind align 2 {
entry:
  %this.addr = alloca %"class.boost::noncopyable_::noncopyable"*, align 4
  store %"class.boost::noncopyable_::noncopyable"* %this, %"class.boost::noncopyable_::noncopyable"** %this.addr, align 4
  %this1 = load %"class.boost::noncopyable_::noncopyable"** %this.addr
  ret void
}

define linkonce_odr void @_ZN5boost9unit_test13test_observer10test_startEm(%"class.boost::unit_test::test_observer"* %this, i32) unnamed_addr nounwind align 2 {
entry:
  %this.addr = alloca %"class.boost::unit_test::test_observer"*, align 4
  %.addr = alloca i32, align 4
  store %"class.boost::unit_test::test_observer"* %this, %"class.boost::unit_test::test_observer"** %this.addr, align 4
  store i32 %0, i32* %.addr, align 4
  %this1 = load %"class.boost::unit_test::test_observer"** %this.addr
  ret void
}

define linkonce_odr void @_ZN5boost9unit_test13test_observer11test_finishEv(%"class.boost::unit_test::test_observer"* %this) unnamed_addr nounwind align 2 {
entry:
  %this.addr = alloca %"class.boost::unit_test::test_observer"*, align 4
  store %"class.boost::unit_test::test_observer"* %this, %"class.boost::unit_test::test_observer"** %this.addr, align 4
  %this1 = load %"class.boost::unit_test::test_observer"** %this.addr
  ret void
}

define linkonce_odr void @_ZN5boost9unit_test13test_observer12test_abortedEv(%"class.boost::unit_test::test_observer"* %this) unnamed_addr nounwind align 2 {
entry:
  %this.addr = alloca %"class.boost::unit_test::test_observer"*, align 4
  store %"class.boost::unit_test::test_observer"* %this, %"class.boost::unit_test::test_observer"** %this.addr, align 4
  %this1 = load %"class.boost::unit_test::test_observer"** %this.addr
  ret void
}

define linkonce_odr void @_ZN5boost9unit_test13test_observer15test_unit_startERKNS0_9test_unitE(%"class.boost::unit_test::test_observer"* %this, %"class.boost::unit_test::test_unit"*) unnamed_addr nounwind align 2 {
entry:
  %this.addr = alloca %"class.boost::unit_test::test_observer"*, align 4
  %.addr = alloca %"class.boost::unit_test::test_unit"*, align 4
  store %"class.boost::unit_test::test_observer"* %this, %"class.boost::unit_test::test_observer"** %this.addr, align 4
  store %"class.boost::unit_test::test_unit"* %0, %"class.boost::unit_test::test_unit"** %.addr, align 4
  %this1 = load %"class.boost::unit_test::test_observer"** %this.addr
  ret void
}

define linkonce_odr void @_ZN5boost9unit_test13test_observer16test_unit_finishERKNS0_9test_unitEm(%"class.boost::unit_test::test_observer"* %this, %"class.boost::unit_test::test_unit"*, i32) unnamed_addr nounwind align 2 {
entry:
  %this.addr = alloca %"class.boost::unit_test::test_observer"*, align 4
  %.addr = alloca %"class.boost::unit_test::test_unit"*, align 4
  %.addr1 = alloca i32, align 4
  store %"class.boost::unit_test::test_observer"* %this, %"class.boost::unit_test::test_observer"** %this.addr, align 4
  store %"class.boost::unit_test::test_unit"* %0, %"class.boost::unit_test::test_unit"** %.addr, align 4
  store i32 %1, i32* %.addr1, align 4
  %this2 = load %"class.boost::unit_test::test_observer"** %this.addr
  ret void
}

define linkonce_odr void @_ZN5boost9unit_test13test_observer17test_unit_skippedERKNS0_9test_unitE(%"class.boost::unit_test::test_observer"* %this, %"class.boost::unit_test::test_unit"*) unnamed_addr nounwind align 2 {
entry:
  %this.addr = alloca %"class.boost::unit_test::test_observer"*, align 4
  %.addr = alloca %"class.boost::unit_test::test_unit"*, align 4
  store %"class.boost::unit_test::test_observer"* %this, %"class.boost::unit_test::test_observer"** %this.addr, align 4
  store %"class.boost::unit_test::test_unit"* %0, %"class.boost::unit_test::test_unit"** %.addr, align 4
  %this1 = load %"class.boost::unit_test::test_observer"** %this.addr
  ret void
}

define linkonce_odr void @_ZN5boost9unit_test13test_observer17test_unit_abortedERKNS0_9test_unitE(%"class.boost::unit_test::test_observer"* %this, %"class.boost::unit_test::test_unit"*) unnamed_addr nounwind align 2 {
entry:
  %this.addr = alloca %"class.boost::unit_test::test_observer"*, align 4
  %.addr = alloca %"class.boost::unit_test::test_unit"*, align 4
  store %"class.boost::unit_test::test_observer"* %this, %"class.boost::unit_test::test_observer"** %this.addr, align 4
  store %"class.boost::unit_test::test_unit"* %0, %"class.boost::unit_test::test_unit"** %.addr, align 4
  %this1 = load %"class.boost::unit_test::test_observer"** %this.addr
  ret void
}

define linkonce_odr void @_ZN5boost9unit_test13test_observer16assertion_resultEb(%"class.boost::unit_test::test_observer"* %this, i1 zeroext) unnamed_addr nounwind align 2 {
entry:
  %this.addr = alloca %"class.boost::unit_test::test_observer"*, align 4
  %.addr = alloca i8, align 1
  store %"class.boost::unit_test::test_observer"* %this, %"class.boost::unit_test::test_observer"** %this.addr, align 4
  %frombool = zext i1 %0 to i8
  store i8 %frombool, i8* %.addr, align 1
  %this1 = load %"class.boost::unit_test::test_observer"** %this.addr
  ret void
}

define linkonce_odr void @_ZN5boost9unit_test13test_observer16exception_caughtERKNS_19execution_exceptionE(%"class.boost::unit_test::test_observer"* %this, %"class.boost::execution_exception"*) unnamed_addr nounwind align 2 {
entry:
  %this.addr = alloca %"class.boost::unit_test::test_observer"*, align 4
  %.addr = alloca %"class.boost::execution_exception"*, align 4
  store %"class.boost::unit_test::test_observer"* %this, %"class.boost::unit_test::test_observer"** %this.addr, align 4
  store %"class.boost::execution_exception"* %0, %"class.boost::execution_exception"** %.addr, align 4
  %this1 = load %"class.boost::unit_test::test_observer"** %this.addr
  ret void
}

define linkonce_odr i32 @_ZN5boost9unit_test13test_observer8priorityEv(%"class.boost::unit_test::test_observer"* %this) unnamed_addr nounwind align 2 {
entry:
  %this.addr = alloca %"class.boost::unit_test::test_observer"*, align 4
  store %"class.boost::unit_test::test_observer"* %this, %"class.boost::unit_test::test_observer"** %this.addr, align 4
  %this1 = load %"class.boost::unit_test::test_observer"** %this.addr
  ret i32 0
}

define linkonce_odr void @_ZN5boost9unit_test13test_observerD1Ev(%"class.boost::unit_test::test_observer"* %this) unnamed_addr nounwind align 2 {
entry:
  %this.addr = alloca %"class.boost::unit_test::test_observer"*, align 4
  store %"class.boost::unit_test::test_observer"* %this, %"class.boost::unit_test::test_observer"** %this.addr, align 4
  %this1 = load %"class.boost::unit_test::test_observer"** %this.addr
  call void @_ZN5boost9unit_test13test_observerD2Ev(%"class.boost::unit_test::test_observer"* %this1)
  ret void
}

define linkonce_odr void @_ZN5boost9unit_test13test_observerD0Ev(%"class.boost::unit_test::test_observer"* %this) unnamed_addr align 2 {
entry:
  %this.addr = alloca %"class.boost::unit_test::test_observer"*, align 4
  %exn.slot = alloca i8*
  %ehselector.slot = alloca i32
  store %"class.boost::unit_test::test_observer"* %this, %"class.boost::unit_test::test_observer"** %this.addr, align 4
  %this1 = load %"class.boost::unit_test::test_observer"** %this.addr
  invoke void @_ZN5boost9unit_test13test_observerD1Ev(%"class.boost::unit_test::test_observer"* %this1)
          to label %invoke.cont unwind label %lpad

invoke.cont:                                      ; preds = %entry
  %0 = bitcast %"class.boost::unit_test::test_observer"* %this1 to i8*
  call void @_ZdlPv(i8* %0) nounwind
  ret void

lpad:                                             ; preds = %entry
  %1 = landingpad { i8*, i32 } personality i8* bitcast (i32 (...)* @__gxx_personality_v0 to i8*)
          cleanup
  %2 = extractvalue { i8*, i32 } %1, 0
  store i8* %2, i8** %exn.slot
  %3 = extractvalue { i8*, i32 } %1, 1
  store i32 %3, i32* %ehselector.slot
  %4 = bitcast %"class.boost::unit_test::test_observer"* %this1 to i8*
  call void @_ZdlPv(i8* %4) nounwind
  br label %eh.resume

eh.resume:                                        ; preds = %lpad
  %exn = load i8** %exn.slot
  %sel = load i32* %ehselector.slot
  %lpad.val = insertvalue { i8*, i32 } undef, i8* %exn, 0
  %lpad.val2 = insertvalue { i8*, i32 } %lpad.val, i32 %sel, 1
  resume { i8*, i32 } %lpad.val2
}

define linkonce_odr void @_ZN5boost9unit_test13basic_cstringIKcEC2Ev(%"class.boost::unit_test::basic_cstring"* %this) unnamed_addr nounwind align 2 {
entry:
  %this.addr = alloca %"class.boost::unit_test::basic_cstring"*, align 4
  store %"class.boost::unit_test::basic_cstring"* %this, %"class.boost::unit_test::basic_cstring"** %this.addr, align 4
  %this1 = load %"class.boost::unit_test::basic_cstring"** %this.addr
  %m_begin = getelementptr inbounds %"class.boost::unit_test::basic_cstring"* %this1, i32 0, i32 0
  %call = call i8* @_ZN5boost9unit_test13basic_cstringIKcE8null_strEv()
  store i8* %call, i8** %m_begin, align 4
  %m_end = getelementptr inbounds %"class.boost::unit_test::basic_cstring"* %this1, i32 0, i32 1
  %m_begin2 = getelementptr inbounds %"class.boost::unit_test::basic_cstring"* %this1, i32 0, i32 0
  %0 = load i8** %m_begin2, align 4
  store i8* %0, i8** %m_end, align 4
  ret void
}

define linkonce_odr void @_ZN5boost9unit_test9callback0INS0_9ut_detail6unusedEED2Ev(%"class.boost::unit_test::callback0"* %this) unnamed_addr inlinehint align 2 {
entry:
  %this.addr = alloca %"class.boost::unit_test::callback0"*, align 4
  store %"class.boost::unit_test::callback0"* %this, %"class.boost::unit_test::callback0"** %this.addr, align 4
  %this1 = load %"class.boost::unit_test::callback0"** %this.addr
  %m_impl = getelementptr inbounds %"class.boost::unit_test::callback0"* %this1, i32 0, i32 0
  call void @_ZN5boost10shared_ptrINS_9unit_test9ut_detail14callback0_implINS2_6unusedEEEED1Ev(%"class.boost::shared_ptr.22"* %m_impl)
  ret void
}

define linkonce_odr void @_ZN5boost10shared_ptrINS_9unit_test9ut_detail14callback0_implINS2_6unusedEEEED1Ev(%"class.boost::shared_ptr.22"* %this) unnamed_addr inlinehint align 2 {
entry:
  %this.addr = alloca %"class.boost::shared_ptr.22"*, align 4
  store %"class.boost::shared_ptr.22"* %this, %"class.boost::shared_ptr.22"** %this.addr, align 4
  %this1 = load %"class.boost::shared_ptr.22"** %this.addr
  call void @_ZN5boost10shared_ptrINS_9unit_test9ut_detail14callback0_implINS2_6unusedEEEED2Ev(%"class.boost::shared_ptr.22"* %this1)
  ret void
}

define linkonce_odr void @_ZN5boost10shared_ptrINS_9unit_test9ut_detail14callback0_implINS2_6unusedEEEED2Ev(%"class.boost::shared_ptr.22"* %this) unnamed_addr inlinehint align 2 {
entry:
  %this.addr = alloca %"class.boost::shared_ptr.22"*, align 4
  store %"class.boost::shared_ptr.22"* %this, %"class.boost::shared_ptr.22"** %this.addr, align 4
  %this1 = load %"class.boost::shared_ptr.22"** %this.addr
  %pn = getelementptr inbounds %"class.boost::shared_ptr.22"* %this1, i32 0, i32 1
  call void @_ZN5boost6detail12shared_countD1Ev(%"class.boost::detail::shared_count"* %pn)
  ret void
}

declare void @_ZN5boost9unit_test9test_caseC1ENS0_13basic_cstringIKcEERKNS0_9callback0INS0_9ut_detail6unusedEEE(%"class.boost::unit_test::test_case"*, %"class.boost::unit_test::basic_cstring"* byval align 4, %"class.boost::unit_test::callback0"*)

define linkonce_odr void @_ZN5boost9unit_test13basic_cstringIKcEC1ERKSs(%"class.boost::unit_test::basic_cstring"* %this, %"class.std::basic_string"* %s) unnamed_addr align 2 {
entry:
  %this.addr = alloca %"class.boost::unit_test::basic_cstring"*, align 4
  %s.addr = alloca %"class.std::basic_string"*, align 4
  store %"class.boost::unit_test::basic_cstring"* %this, %"class.boost::unit_test::basic_cstring"** %this.addr, align 4
  store %"class.std::basic_string"* %s, %"class.std::basic_string"** %s.addr, align 4
  %this1 = load %"class.boost::unit_test::basic_cstring"** %this.addr
  %0 = load %"class.std::basic_string"** %s.addr
  call void @_ZN5boost9unit_test13basic_cstringIKcEC2ERKSs(%"class.boost::unit_test::basic_cstring"* %this1, %"class.std::basic_string"* %0)
  ret void
}

declare void @_ZN5boost9unit_test9ut_detail24normalize_test_case_nameENS0_13basic_cstringIKcEE(%"class.std::basic_string"* sret, %"class.boost::unit_test::basic_cstring"* byval align 4)

define linkonce_odr void @_ZN5boost9unit_test13basic_cstringIKcEC2ERKSs(%"class.boost::unit_test::basic_cstring"* %this, %"class.std::basic_string"* %s) unnamed_addr align 2 {
entry:
  %this.addr = alloca %"class.boost::unit_test::basic_cstring"*, align 4
  %s.addr = alloca %"class.std::basic_string"*, align 4
  store %"class.boost::unit_test::basic_cstring"* %this, %"class.boost::unit_test::basic_cstring"** %this.addr, align 4
  store %"class.std::basic_string"* %s, %"class.std::basic_string"** %s.addr, align 4
  %this1 = load %"class.boost::unit_test::basic_cstring"** %this.addr
  %m_begin = getelementptr inbounds %"class.boost::unit_test::basic_cstring"* %this1, i32 0, i32 0
  %0 = load %"class.std::basic_string"** %s.addr, align 4
  %call = call i8* @_ZNKSs5c_strEv(%"class.std::basic_string"* %0)
  store i8* %call, i8** %m_begin, align 4
  %m_end = getelementptr inbounds %"class.boost::unit_test::basic_cstring"* %this1, i32 0, i32 1
  %m_begin2 = getelementptr inbounds %"class.boost::unit_test::basic_cstring"* %this1, i32 0, i32 0
  %1 = load i8** %m_begin2, align 4
  %2 = load %"class.std::basic_string"** %s.addr, align 4
  %call3 = call i32 @_ZNKSs4sizeEv(%"class.std::basic_string"* %2)
  %add.ptr = getelementptr inbounds i8* %1, i32 %call3
  store i8* %add.ptr, i8** %m_end, align 4
  ret void
}

declare i8* @_ZNKSs5c_strEv(%"class.std::basic_string"*)

declare i32 @_ZNKSs4sizeEv(%"class.std::basic_string"*)

define linkonce_odr void @_ZN5boost2io18ios_all_word_saverD2Ev(%"class.boost::io::ios_all_word_saver"* %this) unnamed_addr align 2 {
entry:
  %this.addr = alloca %"class.boost::io::ios_all_word_saver"*, align 4
  store %"class.boost::io::ios_all_word_saver"* %this, %"class.boost::io::ios_all_word_saver"** %this.addr, align 4
  %this1 = load %"class.boost::io::ios_all_word_saver"** %this.addr
  call void @_ZN5boost2io18ios_all_word_saver7restoreEv(%"class.boost::io::ios_all_word_saver"* %this1)
  ret void
}

define linkonce_odr void @_ZN5boost2io18ios_all_word_saver7restoreEv(%"class.boost::io::ios_all_word_saver"* %this) align 2 {
entry:
  %this.addr = alloca %"class.boost::io::ios_all_word_saver"*, align 4
  store %"class.boost::io::ios_all_word_saver"* %this, %"class.boost::io::ios_all_word_saver"** %this.addr, align 4
  %this1 = load %"class.boost::io::ios_all_word_saver"** %this.addr
  %a2_save_ = getelementptr inbounds %"class.boost::io::ios_all_word_saver"* %this1, i32 0, i32 3
  %0 = load i8** %a2_save_, align 4
  %s_save_ = getelementptr inbounds %"class.boost::io::ios_all_word_saver"* %this1, i32 0, i32 0
  %ref = load %"class.std::ios_base"** %s_save_, align 4
  %i_save_ = getelementptr inbounds %"class.boost::io::ios_all_word_saver"* %this1, i32 0, i32 1
  %1 = load i32* %i_save_, align 4
  %call = call i8** @_ZNSt8ios_base5pwordEi(%"class.std::ios_base"* %ref, i32 %1)
  store i8* %0, i8** %call
  %a1_save_ = getelementptr inbounds %"class.boost::io::ios_all_word_saver"* %this1, i32 0, i32 2
  %2 = load i32* %a1_save_, align 4
  %s_save_2 = getelementptr inbounds %"class.boost::io::ios_all_word_saver"* %this1, i32 0, i32 0
  %ref3 = load %"class.std::ios_base"** %s_save_2, align 4
  %i_save_4 = getelementptr inbounds %"class.boost::io::ios_all_word_saver"* %this1, i32 0, i32 1
  %3 = load i32* %i_save_4, align 4
  %call5 = call i32* @_ZNSt8ios_base5iwordEi(%"class.std::ios_base"* %ref3, i32 %3)
  store i32 %2, i32* %call5
  ret void
}

define linkonce_odr void @_ZN5boost2io18ios_all_word_saverC2ERSt8ios_basei(%"class.boost::io::ios_all_word_saver"* %this, %"class.std::ios_base"* %s, i32 %i) unnamed_addr align 2 {
entry:
  %this.addr = alloca %"class.boost::io::ios_all_word_saver"*, align 4
  %s.addr = alloca %"class.std::ios_base"*, align 4
  %i.addr = alloca i32, align 4
  store %"class.boost::io::ios_all_word_saver"* %this, %"class.boost::io::ios_all_word_saver"** %this.addr, align 4
  store %"class.std::ios_base"* %s, %"class.std::ios_base"** %s.addr, align 4
  store i32 %i, i32* %i.addr, align 4
  %this1 = load %"class.boost::io::ios_all_word_saver"** %this.addr
  %0 = getelementptr inbounds %"class.boost::io::ios_all_word_saver"* %this1, i32 0, i32 0
  %1 = load %"class.std::ios_base"** %s.addr, align 4
  store %"class.std::ios_base"* %1, %"class.std::ios_base"** %0, align 4
  %i_save_ = getelementptr inbounds %"class.boost::io::ios_all_word_saver"* %this1, i32 0, i32 1
  %2 = load i32* %i.addr, align 4
  store i32 %2, i32* %i_save_, align 4
  %a1_save_ = getelementptr inbounds %"class.boost::io::ios_all_word_saver"* %this1, i32 0, i32 2
  %3 = load %"class.std::ios_base"** %s.addr, align 4
  %4 = load i32* %i.addr, align 4
  %call = call i32* @_ZNSt8ios_base5iwordEi(%"class.std::ios_base"* %3, i32 %4)
  %5 = load i32* %call
  store i32 %5, i32* %a1_save_, align 4
  %a2_save_ = getelementptr inbounds %"class.boost::io::ios_all_word_saver"* %this1, i32 0, i32 3
  %6 = load %"class.std::ios_base"** %s.addr, align 4
  %7 = load i32* %i.addr, align 4
  %call2 = call i8** @_ZNSt8ios_base5pwordEi(%"class.std::ios_base"* %6, i32 %7)
  %8 = load i8** %call2
  store i8* %8, i8** %a2_save_, align 4
  ret void
}

define linkonce_odr i32 @_ZNSt8ios_base4setfESt13_Ios_Fmtflags(%"class.std::ios_base"* %this, i32 %__fmtfl) align 2 {
entry:
  %this.addr = alloca %"class.std::ios_base"*, align 4
  %__fmtfl.addr = alloca i32, align 4
  %__old = alloca i32, align 4
  store %"class.std::ios_base"* %this, %"class.std::ios_base"** %this.addr, align 4
  store i32 %__fmtfl, i32* %__fmtfl.addr, align 4
  %this1 = load %"class.std::ios_base"** %this.addr
  %_M_flags = getelementptr inbounds %"class.std::ios_base"* %this1, i32 0, i32 3
  %0 = load i32* %_M_flags, align 4
  store i32 %0, i32* %__old, align 4
  %_M_flags2 = getelementptr inbounds %"class.std::ios_base"* %this1, i32 0, i32 3
  %1 = load i32* %__fmtfl.addr, align 4
  %call = call i32* @_ZStoRRSt13_Ios_FmtflagsS_(i32* %_M_flags2, i32 %1)
  %2 = load i32* %__old, align 4
  ret i32 %2
}

define linkonce_odr i32* @_ZStoRRSt13_Ios_FmtflagsS_(i32* %__a, i32 %__b) inlinehint {
entry:
  %__a.addr = alloca i32*, align 4
  %__b.addr = alloca i32, align 4
  store i32* %__a, i32** %__a.addr, align 4
  store i32 %__b, i32* %__b.addr, align 4
  %0 = load i32** %__a.addr, align 4
  %1 = load i32* %0, align 4
  %2 = load i32* %__b.addr, align 4
  %call = call i32 @_ZStorSt13_Ios_FmtflagsS_(i32 %1, i32 %2)
  %3 = load i32** %__a.addr, align 4
  store i32 %call, i32* %3, align 4
  ret i32* %3
}

define linkonce_odr i32 @_ZNSt8ios_base4setfESt13_Ios_FmtflagsS0_(%"class.std::ios_base"* %this, i32 %__fmtfl, i32 %__mask) align 2 {
entry:
  %this.addr = alloca %"class.std::ios_base"*, align 4
  %__fmtfl.addr = alloca i32, align 4
  %__mask.addr = alloca i32, align 4
  %__old = alloca i32, align 4
  store %"class.std::ios_base"* %this, %"class.std::ios_base"** %this.addr, align 4
  store i32 %__fmtfl, i32* %__fmtfl.addr, align 4
  store i32 %__mask, i32* %__mask.addr, align 4
  %this1 = load %"class.std::ios_base"** %this.addr
  %_M_flags = getelementptr inbounds %"class.std::ios_base"* %this1, i32 0, i32 3
  %0 = load i32* %_M_flags, align 4
  store i32 %0, i32* %__old, align 4
  %_M_flags2 = getelementptr inbounds %"class.std::ios_base"* %this1, i32 0, i32 3
  %1 = load i32* %__mask.addr, align 4
  %call = call i32 @_ZStcoSt13_Ios_Fmtflags(i32 %1)
  %call3 = call i32* @_ZStaNRSt13_Ios_FmtflagsS_(i32* %_M_flags2, i32 %call)
  %_M_flags4 = getelementptr inbounds %"class.std::ios_base"* %this1, i32 0, i32 3
  %2 = load i32* %__fmtfl.addr, align 4
  %3 = load i32* %__mask.addr, align 4
  %call5 = call i32 @_ZStanSt13_Ios_FmtflagsS_(i32 %2, i32 %3)
  %call6 = call i32* @_ZStoRRSt13_Ios_FmtflagsS_(i32* %_M_flags4, i32 %call5)
  %4 = load i32* %__old, align 4
  ret i32 %4
}

define linkonce_odr i32* @_ZStaNRSt13_Ios_FmtflagsS_(i32* %__a, i32 %__b) nounwind inlinehint {
entry:
  %__a.addr = alloca i32*, align 4
  %__b.addr = alloca i32, align 4
  store i32* %__a, i32** %__a.addr, align 4
  store i32 %__b, i32* %__b.addr, align 4
  %0 = load i32** %__a.addr, align 4
  %1 = load i32* %0, align 4
  %2 = load i32* %__b.addr, align 4
  %call = call i32 @_ZStanSt13_Ios_FmtflagsS_(i32 %1, i32 %2)
  %3 = load i32** %__a.addr, align 4
  store i32 %call, i32* %3, align 4
  ret i32* %3
}

define linkonce_odr i32 @_ZStcoSt13_Ios_Fmtflags(i32 %__a) nounwind inlinehint {
entry:
  %__a.addr = alloca i32, align 4
  store i32 %__a, i32* %__a.addr, align 4
  %0 = load i32* %__a.addr, align 4
  %neg = xor i32 %0, -1
  ret i32 %neg
}

define linkonce_odr i32 @_ZStanSt13_Ios_FmtflagsS_(i32 %__a, i32 %__b) nounwind inlinehint {
entry:
  %__a.addr = alloca i32, align 4
  %__b.addr = alloca i32, align 4
  store i32 %__a, i32* %__a.addr, align 4
  store i32 %__b, i32* %__b.addr, align 4
  %0 = load i32* %__a.addr, align 4
  %1 = load i32* %__b.addr, align 4
  %and = and i32 %0, %1
  ret i32 %and
}

define linkonce_odr void @_ZN5boost2io18ios_base_all_saverD2Ev(%"class.boost::io::ios_base_all_saver"* %this) unnamed_addr align 2 {
entry:
  %this.addr = alloca %"class.boost::io::ios_base_all_saver"*, align 4
  store %"class.boost::io::ios_base_all_saver"* %this, %"class.boost::io::ios_base_all_saver"** %this.addr, align 4
  %this1 = load %"class.boost::io::ios_base_all_saver"** %this.addr
  call void @_ZN5boost2io18ios_base_all_saver7restoreEv(%"class.boost::io::ios_base_all_saver"* %this1)
  ret void
}

define linkonce_odr void @_ZN5boost2io18ios_base_all_saver7restoreEv(%"class.boost::io::ios_base_all_saver"* %this) nounwind align 2 {
entry:
  %this.addr = alloca %"class.boost::io::ios_base_all_saver"*, align 4
  store %"class.boost::io::ios_base_all_saver"* %this, %"class.boost::io::ios_base_all_saver"** %this.addr, align 4
  %this1 = load %"class.boost::io::ios_base_all_saver"** %this.addr
  %s_save_ = getelementptr inbounds %"class.boost::io::ios_base_all_saver"* %this1, i32 0, i32 0
  %ref = load %"class.std::ios_base"** %s_save_, align 4
  %a3_save_ = getelementptr inbounds %"class.boost::io::ios_base_all_saver"* %this1, i32 0, i32 3
  %0 = load i32* %a3_save_, align 4
  %call = call i32 @_ZNSt8ios_base5widthEi(%"class.std::ios_base"* %ref, i32 %0)
  %s_save_2 = getelementptr inbounds %"class.boost::io::ios_base_all_saver"* %this1, i32 0, i32 0
  %ref3 = load %"class.std::ios_base"** %s_save_2, align 4
  %a2_save_ = getelementptr inbounds %"class.boost::io::ios_base_all_saver"* %this1, i32 0, i32 2
  %1 = load i32* %a2_save_, align 4
  %call4 = call i32 @_ZNSt8ios_base9precisionEi(%"class.std::ios_base"* %ref3, i32 %1)
  %s_save_5 = getelementptr inbounds %"class.boost::io::ios_base_all_saver"* %this1, i32 0, i32 0
  %ref6 = load %"class.std::ios_base"** %s_save_5, align 4
  %a1_save_ = getelementptr inbounds %"class.boost::io::ios_base_all_saver"* %this1, i32 0, i32 1
  %2 = load i32* %a1_save_, align 4
  %call7 = call i32 @_ZNSt8ios_base5flagsESt13_Ios_Fmtflags(%"class.std::ios_base"* %ref6, i32 %2)
  ret void
}

define linkonce_odr void @_ZN5boost2io18ios_base_all_saverC2ERSt8ios_base(%"class.boost::io::ios_base_all_saver"* %this, %"class.std::ios_base"* %s) unnamed_addr align 2 {
entry:
  %this.addr = alloca %"class.boost::io::ios_base_all_saver"*, align 4
  %s.addr = alloca %"class.std::ios_base"*, align 4
  store %"class.boost::io::ios_base_all_saver"* %this, %"class.boost::io::ios_base_all_saver"** %this.addr, align 4
  store %"class.std::ios_base"* %s, %"class.std::ios_base"** %s.addr, align 4
  %this1 = load %"class.boost::io::ios_base_all_saver"** %this.addr
  %0 = getelementptr inbounds %"class.boost::io::ios_base_all_saver"* %this1, i32 0, i32 0
  %1 = load %"class.std::ios_base"** %s.addr, align 4
  store %"class.std::ios_base"* %1, %"class.std::ios_base"** %0, align 4
  %a1_save_ = getelementptr inbounds %"class.boost::io::ios_base_all_saver"* %this1, i32 0, i32 1
  %2 = load %"class.std::ios_base"** %s.addr, align 4
  %call = call i32 @_ZNKSt8ios_base5flagsEv(%"class.std::ios_base"* %2)
  store i32 %call, i32* %a1_save_, align 4
  %a2_save_ = getelementptr inbounds %"class.boost::io::ios_base_all_saver"* %this1, i32 0, i32 2
  %3 = load %"class.std::ios_base"** %s.addr, align 4
  %call2 = call i32 @_ZNKSt8ios_base9precisionEv(%"class.std::ios_base"* %3)
  store i32 %call2, i32* %a2_save_, align 4
  %a3_save_ = getelementptr inbounds %"class.boost::io::ios_base_all_saver"* %this1, i32 0, i32 3
  %4 = load %"class.std::ios_base"** %s.addr, align 4
  %call3 = call i32 @_ZNKSt8ios_base5widthEv(%"class.std::ios_base"* %4)
  store i32 %call3, i32* %a3_save_, align 4
  ret void
}

define linkonce_odr void @_ZN5boost2io15ios_pword_saverC2ERSt8ios_baseiRKPv(%"class.boost::io::ios_pword_saver"* %this, %"class.std::ios_base"* %s, i32 %i, i8** %a) unnamed_addr align 2 {
entry:
  %this.addr = alloca %"class.boost::io::ios_pword_saver"*, align 4
  %s.addr = alloca %"class.std::ios_base"*, align 4
  %i.addr = alloca i32, align 4
  %a.addr = alloca i8**, align 4
  store %"class.boost::io::ios_pword_saver"* %this, %"class.boost::io::ios_pword_saver"** %this.addr, align 4
  store %"class.std::ios_base"* %s, %"class.std::ios_base"** %s.addr, align 4
  store i32 %i, i32* %i.addr, align 4
  store i8** %a, i8*** %a.addr, align 4
  %this1 = load %"class.boost::io::ios_pword_saver"** %this.addr
  %0 = getelementptr inbounds %"class.boost::io::ios_pword_saver"* %this1, i32 0, i32 0
  %1 = load %"class.std::ios_base"** %s.addr, align 4
  store %"class.std::ios_base"* %1, %"class.std::ios_base"** %0, align 4
  %a_save_ = getelementptr inbounds %"class.boost::io::ios_pword_saver"* %this1, i32 0, i32 1
  %2 = load %"class.std::ios_base"** %s.addr, align 4
  %3 = load i32* %i.addr, align 4
  %call = call i8** @_ZNSt8ios_base5pwordEi(%"class.std::ios_base"* %2, i32 %3)
  %4 = load i8** %call
  store i8* %4, i8** %a_save_, align 4
  %i_save_ = getelementptr inbounds %"class.boost::io::ios_pword_saver"* %this1, i32 0, i32 2
  %5 = load i32* %i.addr, align 4
  store i32 %5, i32* %i_save_, align 4
  %6 = load i8*** %a.addr, align 4
  %7 = load i8** %6, align 4
  %8 = load %"class.std::ios_base"** %s.addr, align 4
  %9 = load i32* %i.addr, align 4
  %call2 = call i8** @_ZNSt8ios_base5pwordEi(%"class.std::ios_base"* %8, i32 %9)
  store i8* %7, i8** %call2
  ret void
}

define linkonce_odr void @_ZN5boost2io15ios_pword_saverD2Ev(%"class.boost::io::ios_pword_saver"* %this) unnamed_addr align 2 {
entry:
  %this.addr = alloca %"class.boost::io::ios_pword_saver"*, align 4
  store %"class.boost::io::ios_pword_saver"* %this, %"class.boost::io::ios_pword_saver"** %this.addr, align 4
  %this1 = load %"class.boost::io::ios_pword_saver"** %this.addr
  call void @_ZN5boost2io15ios_pword_saver7restoreEv(%"class.boost::io::ios_pword_saver"* %this1)
  ret void
}

define linkonce_odr void @_ZN5boost2io15ios_pword_saver7restoreEv(%"class.boost::io::ios_pword_saver"* %this) align 2 {
entry:
  %this.addr = alloca %"class.boost::io::ios_pword_saver"*, align 4
  store %"class.boost::io::ios_pword_saver"* %this, %"class.boost::io::ios_pword_saver"** %this.addr, align 4
  %this1 = load %"class.boost::io::ios_pword_saver"** %this.addr
  %a_save_ = getelementptr inbounds %"class.boost::io::ios_pword_saver"* %this1, i32 0, i32 1
  %0 = load i8** %a_save_, align 4
  %s_save_ = getelementptr inbounds %"class.boost::io::ios_pword_saver"* %this1, i32 0, i32 0
  %ref = load %"class.std::ios_base"** %s_save_, align 4
  %i_save_ = getelementptr inbounds %"class.boost::io::ios_pword_saver"* %this1, i32 0, i32 2
  %1 = load i32* %i_save_, align 4
  %call = call i8** @_ZNSt8ios_base5pwordEi(%"class.std::ios_base"* %ref, i32 %1)
  store i8* %0, i8** %call
  ret void
}

define linkonce_odr void @_ZN5boost2io15ios_pword_saverC2ERSt8ios_basei(%"class.boost::io::ios_pword_saver"* %this, %"class.std::ios_base"* %s, i32 %i) unnamed_addr align 2 {
entry:
  %this.addr = alloca %"class.boost::io::ios_pword_saver"*, align 4
  %s.addr = alloca %"class.std::ios_base"*, align 4
  %i.addr = alloca i32, align 4
  store %"class.boost::io::ios_pword_saver"* %this, %"class.boost::io::ios_pword_saver"** %this.addr, align 4
  store %"class.std::ios_base"* %s, %"class.std::ios_base"** %s.addr, align 4
  store i32 %i, i32* %i.addr, align 4
  %this1 = load %"class.boost::io::ios_pword_saver"** %this.addr
  %0 = getelementptr inbounds %"class.boost::io::ios_pword_saver"* %this1, i32 0, i32 0
  %1 = load %"class.std::ios_base"** %s.addr, align 4
  store %"class.std::ios_base"* %1, %"class.std::ios_base"** %0, align 4
  %a_save_ = getelementptr inbounds %"class.boost::io::ios_pword_saver"* %this1, i32 0, i32 1
  %2 = load %"class.std::ios_base"** %s.addr, align 4
  %3 = load i32* %i.addr, align 4
  %call = call i8** @_ZNSt8ios_base5pwordEi(%"class.std::ios_base"* %2, i32 %3)
  %4 = load i8** %call
  store i8* %4, i8** %a_save_, align 4
  %i_save_ = getelementptr inbounds %"class.boost::io::ios_pword_saver"* %this1, i32 0, i32 2
  %5 = load i32* %i.addr, align 4
  store i32 %5, i32* %i_save_, align 4
  ret void
}

declare %"struct.std::ios_base::_Words"* @_ZNSt8ios_base13_M_grow_wordsEib(%"class.std::ios_base"*, i32, i1 zeroext)

define linkonce_odr void @_ZN5boost2io15ios_iword_saverC2ERSt8ios_baseiRKl(%"class.boost::io::ios_iword_saver"* %this, %"class.std::ios_base"* %s, i32 %i, i32* %a) unnamed_addr align 2 {
entry:
  %this.addr = alloca %"class.boost::io::ios_iword_saver"*, align 4
  %s.addr = alloca %"class.std::ios_base"*, align 4
  %i.addr = alloca i32, align 4
  %a.addr = alloca i32*, align 4
  store %"class.boost::io::ios_iword_saver"* %this, %"class.boost::io::ios_iword_saver"** %this.addr, align 4
  store %"class.std::ios_base"* %s, %"class.std::ios_base"** %s.addr, align 4
  store i32 %i, i32* %i.addr, align 4
  store i32* %a, i32** %a.addr, align 4
  %this1 = load %"class.boost::io::ios_iword_saver"** %this.addr
  %0 = getelementptr inbounds %"class.boost::io::ios_iword_saver"* %this1, i32 0, i32 0
  %1 = load %"class.std::ios_base"** %s.addr, align 4
  store %"class.std::ios_base"* %1, %"class.std::ios_base"** %0, align 4
  %a_save_ = getelementptr inbounds %"class.boost::io::ios_iword_saver"* %this1, i32 0, i32 1
  %2 = load %"class.std::ios_base"** %s.addr, align 4
  %3 = load i32* %i.addr, align 4
  %call = call i32* @_ZNSt8ios_base5iwordEi(%"class.std::ios_base"* %2, i32 %3)
  %4 = load i32* %call
  store i32 %4, i32* %a_save_, align 4
  %i_save_ = getelementptr inbounds %"class.boost::io::ios_iword_saver"* %this1, i32 0, i32 2
  %5 = load i32* %i.addr, align 4
  store i32 %5, i32* %i_save_, align 4
  %6 = load i32** %a.addr, align 4
  %7 = load i32* %6, align 4
  %8 = load %"class.std::ios_base"** %s.addr, align 4
  %9 = load i32* %i.addr, align 4
  %call2 = call i32* @_ZNSt8ios_base5iwordEi(%"class.std::ios_base"* %8, i32 %9)
  store i32 %7, i32* %call2
  ret void
}

define linkonce_odr void @_ZN5boost2io15ios_iword_saverD2Ev(%"class.boost::io::ios_iword_saver"* %this) unnamed_addr align 2 {
entry:
  %this.addr = alloca %"class.boost::io::ios_iword_saver"*, align 4
  store %"class.boost::io::ios_iword_saver"* %this, %"class.boost::io::ios_iword_saver"** %this.addr, align 4
  %this1 = load %"class.boost::io::ios_iword_saver"** %this.addr
  call void @_ZN5boost2io15ios_iword_saver7restoreEv(%"class.boost::io::ios_iword_saver"* %this1)
  ret void
}

define linkonce_odr void @_ZN5boost2io15ios_iword_saver7restoreEv(%"class.boost::io::ios_iword_saver"* %this) align 2 {
entry:
  %this.addr = alloca %"class.boost::io::ios_iword_saver"*, align 4
  store %"class.boost::io::ios_iword_saver"* %this, %"class.boost::io::ios_iword_saver"** %this.addr, align 4
  %this1 = load %"class.boost::io::ios_iword_saver"** %this.addr
  %a_save_ = getelementptr inbounds %"class.boost::io::ios_iword_saver"* %this1, i32 0, i32 1
  %0 = load i32* %a_save_, align 4
  %s_save_ = getelementptr inbounds %"class.boost::io::ios_iword_saver"* %this1, i32 0, i32 0
  %ref = load %"class.std::ios_base"** %s_save_, align 4
  %i_save_ = getelementptr inbounds %"class.boost::io::ios_iword_saver"* %this1, i32 0, i32 2
  %1 = load i32* %i_save_, align 4
  %call = call i32* @_ZNSt8ios_base5iwordEi(%"class.std::ios_base"* %ref, i32 %1)
  store i32 %0, i32* %call
  ret void
}

define linkonce_odr void @_ZN5boost2io15ios_iword_saverC2ERSt8ios_basei(%"class.boost::io::ios_iword_saver"* %this, %"class.std::ios_base"* %s, i32 %i) unnamed_addr align 2 {
entry:
  %this.addr = alloca %"class.boost::io::ios_iword_saver"*, align 4
  %s.addr = alloca %"class.std::ios_base"*, align 4
  %i.addr = alloca i32, align 4
  store %"class.boost::io::ios_iword_saver"* %this, %"class.boost::io::ios_iword_saver"** %this.addr, align 4
  store %"class.std::ios_base"* %s, %"class.std::ios_base"** %s.addr, align 4
  store i32 %i, i32* %i.addr, align 4
  %this1 = load %"class.boost::io::ios_iword_saver"** %this.addr
  %0 = getelementptr inbounds %"class.boost::io::ios_iword_saver"* %this1, i32 0, i32 0
  %1 = load %"class.std::ios_base"** %s.addr, align 4
  store %"class.std::ios_base"* %1, %"class.std::ios_base"** %0, align 4
  %a_save_ = getelementptr inbounds %"class.boost::io::ios_iword_saver"* %this1, i32 0, i32 1
  %2 = load %"class.std::ios_base"** %s.addr, align 4
  %3 = load i32* %i.addr, align 4
  %call = call i32* @_ZNSt8ios_base5iwordEi(%"class.std::ios_base"* %2, i32 %3)
  %4 = load i32* %call
  store i32 %4, i32* %a_save_, align 4
  %i_save_ = getelementptr inbounds %"class.boost::io::ios_iword_saver"* %this1, i32 0, i32 2
  %5 = load i32* %i.addr, align 4
  store i32 %5, i32* %i_save_, align 4
  ret void
}

define linkonce_odr void @_ZN19backward_bool_namesC2Ej(%class.backward_bool_names* %this, i32 %refs) unnamed_addr align 2 {
entry:
  %this.addr = alloca %class.backward_bool_names*, align 4
  %refs.addr = alloca i32, align 4
  store %class.backward_bool_names* %this, %class.backward_bool_names** %this.addr, align 4
  store i32 %refs, i32* %refs.addr, align 4
  %this1 = load %class.backward_bool_names** %this.addr
  %0 = bitcast %class.backward_bool_names* %this1 to %"class.std::numpunct"*
  %1 = load i32* %refs.addr, align 4
  call void @_ZNSt8numpunctIcEC2Ej(%"class.std::numpunct"* %0, i32 %1)
  %2 = bitcast %class.backward_bool_names* %this1 to i8***
  store i8** getelementptr inbounds ([9 x i8*]* @_ZTV19backward_bool_names, i64 0, i64 2), i8*** %2
  ret void
}

declare void @_ZNSt8numpunctIcEC2Ej(%"class.std::numpunct"*, i32)

define linkonce_odr void @_ZN19backward_bool_namesD1Ev(%class.backward_bool_names* %this) unnamed_addr align 2 {
entry:
  %this.addr = alloca %class.backward_bool_names*, align 4
  store %class.backward_bool_names* %this, %class.backward_bool_names** %this.addr, align 4
  %this1 = load %class.backward_bool_names** %this.addr
  call void @_ZN19backward_bool_namesD2Ev(%class.backward_bool_names* %this1)
  ret void
}

define linkonce_odr void @_ZN19backward_bool_namesD0Ev(%class.backward_bool_names* %this) unnamed_addr align 2 {
entry:
  %this.addr = alloca %class.backward_bool_names*, align 4
  %exn.slot = alloca i8*
  %ehselector.slot = alloca i32
  store %class.backward_bool_names* %this, %class.backward_bool_names** %this.addr, align 4
  %this1 = load %class.backward_bool_names** %this.addr
  invoke void @_ZN19backward_bool_namesD1Ev(%class.backward_bool_names* %this1)
          to label %invoke.cont unwind label %lpad

invoke.cont:                                      ; preds = %entry
  %0 = bitcast %class.backward_bool_names* %this1 to i8*
  call void @_ZdlPv(i8* %0) nounwind
  ret void

lpad:                                             ; preds = %entry
  %1 = landingpad { i8*, i32 } personality i8* bitcast (i32 (...)* @__gxx_personality_v0 to i8*)
          cleanup
  %2 = extractvalue { i8*, i32 } %1, 0
  store i8* %2, i8** %exn.slot
  %3 = extractvalue { i8*, i32 } %1, 1
  store i32 %3, i32* %ehselector.slot
  %4 = bitcast %class.backward_bool_names* %this1 to i8*
  call void @_ZdlPv(i8* %4) nounwind
  br label %eh.resume

eh.resume:                                        ; preds = %lpad
  %exn = load i8** %exn.slot
  %sel = load i32* %ehselector.slot
  %lpad.val = insertvalue { i8*, i32 } undef, i8* %exn, 0
  %lpad.val2 = insertvalue { i8*, i32 } %lpad.val, i32 %sel, 1
  resume { i8*, i32 } %lpad.val2
}

declare signext i8 @_ZNKSt8numpunctIcE16do_decimal_pointEv(%"class.std::numpunct"*)

declare signext i8 @_ZNKSt8numpunctIcE16do_thousands_sepEv(%"class.std::numpunct"*)

declare void @_ZNKSt8numpunctIcE11do_groupingEv(%"class.std::basic_string"* sret, %"class.std::numpunct"*)

define linkonce_odr void @_ZNK19backward_bool_names11do_truenameEv(%"class.std::basic_string"* noalias sret %agg.result, %class.backward_bool_names* %this) unnamed_addr align 2 {
entry:
  %this.addr = alloca %class.backward_bool_names*, align 4
  %ref.tmp = alloca %"class.std::allocator", align 1
  %exn.slot = alloca i8*
  %ehselector.slot = alloca i32
  store %class.backward_bool_names* %this, %class.backward_bool_names** %this.addr, align 4
  %this1 = load %class.backward_bool_names** %this.addr
  call void @_ZNSaIcEC1Ev(%"class.std::allocator"* %ref.tmp) nounwind
  invoke void @_ZNSsC1EPKcRKSaIcE(%"class.std::basic_string"* %agg.result, i8* getelementptr inbounds ([5 x i8]* @.str88, i32 0, i32 0), %"class.std::allocator"* %ref.tmp)
          to label %invoke.cont unwind label %lpad

invoke.cont:                                      ; preds = %entry
  call void @_ZNSaIcED1Ev(%"class.std::allocator"* %ref.tmp) nounwind
  ret void

lpad:                                             ; preds = %entry
  %0 = landingpad { i8*, i32 } personality i8* bitcast (i32 (...)* @__gxx_personality_v0 to i8*)
          cleanup
  %1 = extractvalue { i8*, i32 } %0, 0
  store i8* %1, i8** %exn.slot
  %2 = extractvalue { i8*, i32 } %0, 1
  store i32 %2, i32* %ehselector.slot
  call void @_ZNSaIcED1Ev(%"class.std::allocator"* %ref.tmp) nounwind
  br label %eh.resume

eh.resume:                                        ; preds = %lpad
  %exn = load i8** %exn.slot
  %sel = load i32* %ehselector.slot
  %lpad.val = insertvalue { i8*, i32 } undef, i8* %exn, 0
  %lpad.val2 = insertvalue { i8*, i32 } %lpad.val, i32 %sel, 1
  resume { i8*, i32 } %lpad.val2
}

define linkonce_odr void @_ZNK19backward_bool_names12do_falsenameEv(%"class.std::basic_string"* noalias sret %agg.result, %class.backward_bool_names* %this) unnamed_addr align 2 {
entry:
  %this.addr = alloca %class.backward_bool_names*, align 4
  %ref.tmp = alloca %"class.std::allocator", align 1
  %exn.slot = alloca i8*
  %ehselector.slot = alloca i32
  store %class.backward_bool_names* %this, %class.backward_bool_names** %this.addr, align 4
  %this1 = load %class.backward_bool_names** %this.addr
  call void @_ZNSaIcEC1Ev(%"class.std::allocator"* %ref.tmp) nounwind
  invoke void @_ZNSsC1EPKcRKSaIcE(%"class.std::basic_string"* %agg.result, i8* getelementptr inbounds ([6 x i8]* @.str87, i32 0, i32 0), %"class.std::allocator"* %ref.tmp)
          to label %invoke.cont unwind label %lpad

invoke.cont:                                      ; preds = %entry
  call void @_ZNSaIcED1Ev(%"class.std::allocator"* %ref.tmp) nounwind
  ret void

lpad:                                             ; preds = %entry
  %0 = landingpad { i8*, i32 } personality i8* bitcast (i32 (...)* @__gxx_personality_v0 to i8*)
          cleanup
  %1 = extractvalue { i8*, i32 } %0, 0
  store i8* %1, i8** %exn.slot
  %2 = extractvalue { i8*, i32 } %0, 1
  store i32 %2, i32* %ehselector.slot
  call void @_ZNSaIcED1Ev(%"class.std::allocator"* %ref.tmp) nounwind
  br label %eh.resume

eh.resume:                                        ; preds = %lpad
  %exn = load i8** %exn.slot
  %sel = load i32* %ehselector.slot
  %lpad.val = insertvalue { i8*, i32 } undef, i8* %exn, 0
  %lpad.val2 = insertvalue { i8*, i32 } %lpad.val, i32 %sel, 1
  resume { i8*, i32 } %lpad.val2
}

define linkonce_odr void @_ZN19backward_bool_namesD2Ev(%class.backward_bool_names* %this) unnamed_addr align 2 {
entry:
  %this.addr = alloca %class.backward_bool_names*, align 4
  store %class.backward_bool_names* %this, %class.backward_bool_names** %this.addr, align 4
  %this1 = load %class.backward_bool_names** %this.addr
  %0 = bitcast %class.backward_bool_names* %this1 to %"class.std::numpunct"*
  call void @_ZNSt8numpunctIcED2Ev(%"class.std::numpunct"* %0)
  ret void
}

declare void @_ZNSt8numpunctIcED2Ev(%"class.std::numpunct"*)

declare void @_ZNSt6localeC1ERKS_(%"class.std::locale"*, %"class.std::locale"*) nounwind

define linkonce_odr void @_ZNSt15basic_stringbufIcSt11char_traitsIcESaIcEED2Ev(%"class.std::basic_stringbuf"* %this) unnamed_addr inlinehint align 2 {
entry:
  %this.addr = alloca %"class.std::basic_stringbuf"*, align 4
  %exn.slot = alloca i8*
  %ehselector.slot = alloca i32
  store %"class.std::basic_stringbuf"* %this, %"class.std::basic_stringbuf"** %this.addr, align 4
  %this1 = load %"class.std::basic_stringbuf"** %this.addr
  %0 = bitcast %"class.std::basic_stringbuf"* %this1 to i8***
  store i8** getelementptr inbounds ([16 x i8*]* @_ZTVSt15basic_stringbufIcSt11char_traitsIcESaIcEE, i64 0, i64 2), i8*** %0
  %_M_string = getelementptr inbounds %"class.std::basic_stringbuf"* %this1, i32 0, i32 2
  invoke void @_ZNSsD1Ev(%"class.std::basic_string"* %_M_string)
          to label %invoke.cont unwind label %lpad

invoke.cont:                                      ; preds = %entry
  %1 = bitcast %"class.std::basic_stringbuf"* %this1 to %"class.std::basic_streambuf"*
  call void @_ZNSt15basic_streambufIcSt11char_traitsIcEED2Ev(%"class.std::basic_streambuf"* %1)
  ret void

lpad:                                             ; preds = %entry
  %2 = landingpad { i8*, i32 } personality i8* bitcast (i32 (...)* @__gxx_personality_v0 to i8*)
          cleanup
  %3 = extractvalue { i8*, i32 } %2, 0
  store i8* %3, i8** %exn.slot
  %4 = extractvalue { i8*, i32 } %2, 1
  store i32 %4, i32* %ehselector.slot
  %5 = bitcast %"class.std::basic_stringbuf"* %this1 to %"class.std::basic_streambuf"*
  invoke void @_ZNSt15basic_streambufIcSt11char_traitsIcEED2Ev(%"class.std::basic_streambuf"* %5)
          to label %invoke.cont2 unwind label %terminate.lpad

invoke.cont2:                                     ; preds = %lpad
  br label %eh.resume

eh.resume:                                        ; preds = %invoke.cont2
  %exn = load i8** %exn.slot
  %sel = load i32* %ehselector.slot
  %lpad.val = insertvalue { i8*, i32 } undef, i8* %exn, 0
  %lpad.val3 = insertvalue { i8*, i32 } %lpad.val, i32 %sel, 1
  resume { i8*, i32 } %lpad.val3

terminate.lpad:                                   ; preds = %lpad
  %6 = landingpad { i8*, i32 } personality i8* bitcast (i32 (...)* @__gxx_personality_v0 to i8*)
          catch i8* null
  call void @_ZSt9terminatev() noreturn nounwind
  unreachable
}

declare void @_ZNSt15basic_streambufIcSt11char_traitsIcEED2Ev(%"class.std::basic_streambuf"*)

define linkonce_odr void @_ZN5boost9unit_test17lazy_ostream_implIRA28_KcED2Ev(%"class.boost::unit_test::lazy_ostream_impl.4"* %this) unnamed_addr nounwind inlinehint align 2 {
entry:
  %this.addr = alloca %"class.boost::unit_test::lazy_ostream_impl.4"*, align 4
  store %"class.boost::unit_test::lazy_ostream_impl.4"* %this, %"class.boost::unit_test::lazy_ostream_impl.4"** %this.addr, align 4
  %this1 = load %"class.boost::unit_test::lazy_ostream_impl.4"** %this.addr
  %0 = bitcast %"class.boost::unit_test::lazy_ostream_impl.4"* %this1 to %"class.boost::unit_test::lazy_ostream"*
  call void @_ZN5boost9unit_test12lazy_ostreamD2Ev(%"class.boost::unit_test::lazy_ostream"* %0)
  ret void
}

define linkonce_odr void @_ZN5boost9unit_test17lazy_ostream_implIRA32_KcED2Ev(%"class.boost::unit_test::lazy_ostream_impl.3"* %this) unnamed_addr nounwind inlinehint align 2 {
entry:
  %this.addr = alloca %"class.boost::unit_test::lazy_ostream_impl.3"*, align 4
  store %"class.boost::unit_test::lazy_ostream_impl.3"* %this, %"class.boost::unit_test::lazy_ostream_impl.3"** %this.addr, align 4
  %this1 = load %"class.boost::unit_test::lazy_ostream_impl.3"** %this.addr
  %0 = bitcast %"class.boost::unit_test::lazy_ostream_impl.3"* %this1 to %"class.boost::unit_test::lazy_ostream"*
  call void @_ZN5boost9unit_test12lazy_ostreamD2Ev(%"class.boost::unit_test::lazy_ostream"* %0)
  ret void
}

define linkonce_odr void @_ZN5boost9unit_test17lazy_ostream_implIRA43_KcED2Ev(%"class.boost::unit_test::lazy_ostream_impl.2"* %this) unnamed_addr nounwind inlinehint align 2 {
entry:
  %this.addr = alloca %"class.boost::unit_test::lazy_ostream_impl.2"*, align 4
  store %"class.boost::unit_test::lazy_ostream_impl.2"* %this, %"class.boost::unit_test::lazy_ostream_impl.2"** %this.addr, align 4
  %this1 = load %"class.boost::unit_test::lazy_ostream_impl.2"** %this.addr
  %0 = bitcast %"class.boost::unit_test::lazy_ostream_impl.2"* %this1 to %"class.boost::unit_test::lazy_ostream"*
  call void @_ZN5boost9unit_test12lazy_ostreamD2Ev(%"class.boost::unit_test::lazy_ostream"* %0)
  ret void
}

define linkonce_odr void @_ZN5boost9unit_test17lazy_ostream_implIRA45_KcED2Ev(%"class.boost::unit_test::lazy_ostream_impl.1"* %this) unnamed_addr nounwind inlinehint align 2 {
entry:
  %this.addr = alloca %"class.boost::unit_test::lazy_ostream_impl.1"*, align 4
  store %"class.boost::unit_test::lazy_ostream_impl.1"* %this, %"class.boost::unit_test::lazy_ostream_impl.1"** %this.addr, align 4
  %this1 = load %"class.boost::unit_test::lazy_ostream_impl.1"** %this.addr
  %0 = bitcast %"class.boost::unit_test::lazy_ostream_impl.1"* %this1 to %"class.boost::unit_test::lazy_ostream"*
  call void @_ZN5boost9unit_test12lazy_ostreamD2Ev(%"class.boost::unit_test::lazy_ostream"* %0)
  ret void
}

define linkonce_odr void @_ZN5boost10test_tools16predicate_resultD2Ev(%"class.boost::test_tools::predicate_result"* %this) unnamed_addr inlinehint align 2 {
entry:
  %this.addr = alloca %"class.boost::test_tools::predicate_result"*, align 4
  store %"class.boost::test_tools::predicate_result"* %this, %"class.boost::test_tools::predicate_result"** %this.addr, align 4
  %this1 = load %"class.boost::test_tools::predicate_result"** %this.addr
  %m_message = getelementptr inbounds %"class.boost::test_tools::predicate_result"* %this1, i32 0, i32 1
  call void @_ZN5boost10shared_ptrINS_23basic_wrap_stringstreamIcEEED1Ev(%"class.boost::shared_ptr"* %m_message)
  ret void
}

define linkonce_odr void @_ZN5boost10shared_ptrINS_23basic_wrap_stringstreamIcEEED1Ev(%"class.boost::shared_ptr"* %this) unnamed_addr inlinehint align 2 {
entry:
  %this.addr = alloca %"class.boost::shared_ptr"*, align 4
  store %"class.boost::shared_ptr"* %this, %"class.boost::shared_ptr"** %this.addr, align 4
  %this1 = load %"class.boost::shared_ptr"** %this.addr
  call void @_ZN5boost10shared_ptrINS_23basic_wrap_stringstreamIcEEED2Ev(%"class.boost::shared_ptr"* %this1)
  ret void
}

define linkonce_odr void @_ZN5boost10shared_ptrINS_23basic_wrap_stringstreamIcEEED2Ev(%"class.boost::shared_ptr"* %this) unnamed_addr inlinehint align 2 {
entry:
  %this.addr = alloca %"class.boost::shared_ptr"*, align 4
  store %"class.boost::shared_ptr"* %this, %"class.boost::shared_ptr"** %this.addr, align 4
  %this1 = load %"class.boost::shared_ptr"** %this.addr
  %pn = getelementptr inbounds %"class.boost::shared_ptr"* %this1, i32 0, i32 1
  call void @_ZN5boost6detail12shared_countD1Ev(%"class.boost::detail::shared_count"* %pn)
  ret void
}

define linkonce_odr void @_ZN5boost9unit_test17lazy_ostream_implIRKNS0_13basic_cstringIKcEEED2Ev(%"class.boost::unit_test::lazy_ostream_impl.0"* %this) unnamed_addr nounwind inlinehint align 2 {
entry:
  %this.addr = alloca %"class.boost::unit_test::lazy_ostream_impl.0"*, align 4
  store %"class.boost::unit_test::lazy_ostream_impl.0"* %this, %"class.boost::unit_test::lazy_ostream_impl.0"** %this.addr, align 4
  %this1 = load %"class.boost::unit_test::lazy_ostream_impl.0"** %this.addr
  %0 = bitcast %"class.boost::unit_test::lazy_ostream_impl.0"* %this1 to %"class.boost::unit_test::lazy_ostream"*
  call void @_ZN5boost9unit_test12lazy_ostreamD2Ev(%"class.boost::unit_test::lazy_ostream"* %0)
  ret void
}

define linkonce_odr void @_ZN5boost10test_tools16predicate_resultC2Eb(%"class.boost::test_tools::predicate_result"* %this, i1 zeroext %pv_) unnamed_addr align 2 {
entry:
  %this.addr = alloca %"class.boost::test_tools::predicate_result"*, align 4
  %pv_.addr = alloca i8, align 1
  store %"class.boost::test_tools::predicate_result"* %this, %"class.boost::test_tools::predicate_result"** %this.addr, align 4
  %frombool = zext i1 %pv_ to i8
  store i8 %frombool, i8* %pv_.addr, align 1
  %this1 = load %"class.boost::test_tools::predicate_result"** %this.addr
  %p_predicate_value = getelementptr inbounds %"class.boost::test_tools::predicate_result"* %this1, i32 0, i32 0
  %0 = load i8* %pv_.addr, align 1
  %tobool = trunc i8 %0 to i1
  call void @_ZN5boost10test_tools16predicate_result19readonly_property62C1Eb(%"class.boost::test_tools::predicate_result::readonly_property62"* %p_predicate_value, i1 zeroext %tobool)
  %m_message = getelementptr inbounds %"class.boost::test_tools::predicate_result"* %this1, i32 0, i32 1
  call void @_ZN5boost10shared_ptrINS_23basic_wrap_stringstreamIcEEEC1Ev(%"class.boost::shared_ptr"* %m_message)
  ret void
}

define linkonce_odr void @_ZN5boost10test_tools16predicate_result19readonly_property62C1Eb(%"class.boost::test_tools::predicate_result::readonly_property62"* %this, i1 zeroext %init_v) unnamed_addr align 2 {
entry:
  %this.addr = alloca %"class.boost::test_tools::predicate_result::readonly_property62"*, align 4
  %init_v.addr = alloca i8, align 1
  store %"class.boost::test_tools::predicate_result::readonly_property62"* %this, %"class.boost::test_tools::predicate_result::readonly_property62"** %this.addr, align 4
  %frombool = zext i1 %init_v to i8
  store i8 %frombool, i8* %init_v.addr, align 1
  %this1 = load %"class.boost::test_tools::predicate_result::readonly_property62"** %this.addr
  %0 = load i8* %init_v.addr, align 1
  %tobool = trunc i8 %0 to i1
  call void @_ZN5boost10test_tools16predicate_result19readonly_property62C2Eb(%"class.boost::test_tools::predicate_result::readonly_property62"* %this1, i1 zeroext %tobool)
  ret void
}

define linkonce_odr void @_ZN5boost10shared_ptrINS_23basic_wrap_stringstreamIcEEEC1Ev(%"class.boost::shared_ptr"* %this) unnamed_addr align 2 {
entry:
  %this.addr = alloca %"class.boost::shared_ptr"*, align 4
  store %"class.boost::shared_ptr"* %this, %"class.boost::shared_ptr"** %this.addr, align 4
  %this1 = load %"class.boost::shared_ptr"** %this.addr
  call void @_ZN5boost10shared_ptrINS_23basic_wrap_stringstreamIcEEEC2Ev(%"class.boost::shared_ptr"* %this1)
  ret void
}

define linkonce_odr void @_ZN5boost10shared_ptrINS_23basic_wrap_stringstreamIcEEEC2Ev(%"class.boost::shared_ptr"* %this) unnamed_addr align 2 {
entry:
  %this.addr = alloca %"class.boost::shared_ptr"*, align 4
  store %"class.boost::shared_ptr"* %this, %"class.boost::shared_ptr"** %this.addr, align 4
  %this1 = load %"class.boost::shared_ptr"** %this.addr
  %px = getelementptr inbounds %"class.boost::shared_ptr"* %this1, i32 0, i32 0
  store %"class.boost::basic_wrap_stringstream"* null, %"class.boost::basic_wrap_stringstream"** %px, align 4
  %pn = getelementptr inbounds %"class.boost::shared_ptr"* %this1, i32 0, i32 1
  call void @_ZN5boost6detail12shared_countC1Ev(%"class.boost::detail::shared_count"* %pn)
  ret void
}

define linkonce_odr void @_ZN5boost6detail12shared_countC1Ev(%"class.boost::detail::shared_count"* %this) unnamed_addr align 2 {
entry:
  %this.addr = alloca %"class.boost::detail::shared_count"*, align 4
  store %"class.boost::detail::shared_count"* %this, %"class.boost::detail::shared_count"** %this.addr, align 4
  %this1 = load %"class.boost::detail::shared_count"** %this.addr
  call void @_ZN5boost6detail12shared_countC2Ev(%"class.boost::detail::shared_count"* %this1)
  ret void
}

define linkonce_odr void @_ZN5boost6detail12shared_countC2Ev(%"class.boost::detail::shared_count"* %this) unnamed_addr nounwind align 2 {
entry:
  %this.addr = alloca %"class.boost::detail::shared_count"*, align 4
  store %"class.boost::detail::shared_count"* %this, %"class.boost::detail::shared_count"** %this.addr, align 4
  %this1 = load %"class.boost::detail::shared_count"** %this.addr
  %pi_ = getelementptr inbounds %"class.boost::detail::shared_count"* %this1, i32 0, i32 0
  store %"class.boost::detail::sp_counted_base"* null, %"class.boost::detail::sp_counted_base"** %pi_, align 4
  ret void
}

define linkonce_odr void @_ZN5boost10test_tools16predicate_result19readonly_property62C2Eb(%"class.boost::test_tools::predicate_result::readonly_property62"* %this, i1 zeroext %init_v) unnamed_addr align 2 {
entry:
  %this.addr = alloca %"class.boost::test_tools::predicate_result::readonly_property62"*, align 4
  %init_v.addr = alloca i8, align 1
  store %"class.boost::test_tools::predicate_result::readonly_property62"* %this, %"class.boost::test_tools::predicate_result::readonly_property62"** %this.addr, align 4
  %frombool = zext i1 %init_v to i8
  store i8 %frombool, i8* %init_v.addr, align 1
  %this1 = load %"class.boost::test_tools::predicate_result::readonly_property62"** %this.addr
  %0 = bitcast %"class.boost::test_tools::predicate_result::readonly_property62"* %this1 to %"class.boost::unit_test::readonly_property"*
  %1 = load i8* %init_v.addr, align 1
  %tobool = trunc i8 %1 to i1
  call void @_ZN5boost9unit_test17readonly_propertyIbEC2Eb(%"class.boost::unit_test::readonly_property"* %0, i1 zeroext %tobool)
  ret void
}

define linkonce_odr void @_ZN5boost9unit_test17readonly_propertyIbEC2Eb(%"class.boost::unit_test::readonly_property"* %this, i1 zeroext %init_value) unnamed_addr align 2 {
entry:
  %this.addr = alloca %"class.boost::unit_test::readonly_property"*, align 4
  %init_value.addr = alloca i8, align 1
  store %"class.boost::unit_test::readonly_property"* %this, %"class.boost::unit_test::readonly_property"** %this.addr, align 4
  %frombool = zext i1 %init_value to i8
  store i8 %frombool, i8* %init_value.addr, align 1
  %this1 = load %"class.boost::unit_test::readonly_property"** %this.addr
  %0 = bitcast %"class.boost::unit_test::readonly_property"* %this1 to %"class.boost::unit_test::class_property"*
  %1 = load i8* %init_value.addr, align 1
  %tobool = trunc i8 %1 to i1
  call void @_ZN5boost9unit_test14class_propertyIbEC2Eb(%"class.boost::unit_test::class_property"* %0, i1 zeroext %tobool)
  ret void
}

define linkonce_odr void @_ZN5boost9unit_test14class_propertyIbEC2Eb(%"class.boost::unit_test::class_property"* %this, i1 zeroext %init_value) unnamed_addr nounwind align 2 {
entry:
  %this.addr = alloca %"class.boost::unit_test::class_property"*, align 4
  %init_value.addr = alloca i8, align 1
  store %"class.boost::unit_test::class_property"* %this, %"class.boost::unit_test::class_property"** %this.addr, align 4
  %frombool = zext i1 %init_value to i8
  store i8 %frombool, i8* %init_value.addr, align 1
  %this1 = load %"class.boost::unit_test::class_property"** %this.addr
  %value = getelementptr inbounds %"class.boost::unit_test::class_property"* %this1, i32 0, i32 0
  %0 = load i8* %init_value.addr, align 1
  %tobool = trunc i8 %0 to i1
  %frombool2 = zext i1 %tobool to i8
  store i8 %frombool2, i8* %value, align 1
  ret void
}

define linkonce_odr void @_ZN5boost2io15ios_width_saverC2ERSt8ios_baseRKi(%"class.boost::io::ios_width_saver"* %this, %"class.std::ios_base"* %s, i32* %a) unnamed_addr nounwind align 2 {
entry:
  %this.addr = alloca %"class.boost::io::ios_width_saver"*, align 4
  %s.addr = alloca %"class.std::ios_base"*, align 4
  %a.addr = alloca i32*, align 4
  store %"class.boost::io::ios_width_saver"* %this, %"class.boost::io::ios_width_saver"** %this.addr, align 4
  store %"class.std::ios_base"* %s, %"class.std::ios_base"** %s.addr, align 4
  store i32* %a, i32** %a.addr, align 4
  %this1 = load %"class.boost::io::ios_width_saver"** %this.addr
  %0 = getelementptr inbounds %"class.boost::io::ios_width_saver"* %this1, i32 0, i32 0
  %1 = load %"class.std::ios_base"** %s.addr, align 4
  store %"class.std::ios_base"* %1, %"class.std::ios_base"** %0, align 4
  %a_save_ = getelementptr inbounds %"class.boost::io::ios_width_saver"* %this1, i32 0, i32 1
  %2 = load %"class.std::ios_base"** %s.addr, align 4
  %3 = load i32** %a.addr, align 4
  %4 = load i32* %3, align 4
  %call = call i32 @_ZNSt8ios_base5widthEi(%"class.std::ios_base"* %2, i32 %4)
  store i32 %call, i32* %a_save_, align 4
  ret void
}

define linkonce_odr void @_ZN5boost2io15ios_width_saverD2Ev(%"class.boost::io::ios_width_saver"* %this) unnamed_addr align 2 {
entry:
  %this.addr = alloca %"class.boost::io::ios_width_saver"*, align 4
  store %"class.boost::io::ios_width_saver"* %this, %"class.boost::io::ios_width_saver"** %this.addr, align 4
  %this1 = load %"class.boost::io::ios_width_saver"** %this.addr
  call void @_ZN5boost2io15ios_width_saver7restoreEv(%"class.boost::io::ios_width_saver"* %this1)
  ret void
}

define linkonce_odr void @_ZN5boost2io15ios_width_saver7restoreEv(%"class.boost::io::ios_width_saver"* %this) nounwind align 2 {
entry:
  %this.addr = alloca %"class.boost::io::ios_width_saver"*, align 4
  store %"class.boost::io::ios_width_saver"* %this, %"class.boost::io::ios_width_saver"** %this.addr, align 4
  %this1 = load %"class.boost::io::ios_width_saver"** %this.addr
  %s_save_ = getelementptr inbounds %"class.boost::io::ios_width_saver"* %this1, i32 0, i32 0
  %ref = load %"class.std::ios_base"** %s_save_, align 4
  %a_save_ = getelementptr inbounds %"class.boost::io::ios_width_saver"* %this1, i32 0, i32 1
  %0 = load i32* %a_save_, align 4
  %call = call i32 @_ZNSt8ios_base5widthEi(%"class.std::ios_base"* %ref, i32 %0)
  ret void
}

define linkonce_odr void @_ZN5boost2io15ios_width_saverC2ERSt8ios_base(%"class.boost::io::ios_width_saver"* %this, %"class.std::ios_base"* %s) unnamed_addr align 2 {
entry:
  %this.addr = alloca %"class.boost::io::ios_width_saver"*, align 4
  %s.addr = alloca %"class.std::ios_base"*, align 4
  store %"class.boost::io::ios_width_saver"* %this, %"class.boost::io::ios_width_saver"** %this.addr, align 4
  store %"class.std::ios_base"* %s, %"class.std::ios_base"** %s.addr, align 4
  %this1 = load %"class.boost::io::ios_width_saver"** %this.addr
  %0 = getelementptr inbounds %"class.boost::io::ios_width_saver"* %this1, i32 0, i32 0
  %1 = load %"class.std::ios_base"** %s.addr, align 4
  store %"class.std::ios_base"* %1, %"class.std::ios_base"** %0, align 4
  %a_save_ = getelementptr inbounds %"class.boost::io::ios_width_saver"* %this1, i32 0, i32 1
  %2 = load %"class.std::ios_base"** %s.addr, align 4
  %call = call i32 @_ZNKSt8ios_base5widthEv(%"class.std::ios_base"* %2)
  store i32 %call, i32* %a_save_, align 4
  ret void
}

define linkonce_odr void @_ZN5boost2io19ios_precision_saverC2ERSt8ios_baseRKi(%"class.boost::io::ios_precision_saver"* %this, %"class.std::ios_base"* %s, i32* %a) unnamed_addr nounwind align 2 {
entry:
  %this.addr = alloca %"class.boost::io::ios_precision_saver"*, align 4
  %s.addr = alloca %"class.std::ios_base"*, align 4
  %a.addr = alloca i32*, align 4
  store %"class.boost::io::ios_precision_saver"* %this, %"class.boost::io::ios_precision_saver"** %this.addr, align 4
  store %"class.std::ios_base"* %s, %"class.std::ios_base"** %s.addr, align 4
  store i32* %a, i32** %a.addr, align 4
  %this1 = load %"class.boost::io::ios_precision_saver"** %this.addr
  %0 = getelementptr inbounds %"class.boost::io::ios_precision_saver"* %this1, i32 0, i32 0
  %1 = load %"class.std::ios_base"** %s.addr, align 4
  store %"class.std::ios_base"* %1, %"class.std::ios_base"** %0, align 4
  %a_save_ = getelementptr inbounds %"class.boost::io::ios_precision_saver"* %this1, i32 0, i32 1
  %2 = load %"class.std::ios_base"** %s.addr, align 4
  %3 = load i32** %a.addr, align 4
  %4 = load i32* %3, align 4
  %call = call i32 @_ZNSt8ios_base9precisionEi(%"class.std::ios_base"* %2, i32 %4)
  store i32 %call, i32* %a_save_, align 4
  ret void
}

define linkonce_odr void @_ZN5boost2io19ios_precision_saverD2Ev(%"class.boost::io::ios_precision_saver"* %this) unnamed_addr align 2 {
entry:
  %this.addr = alloca %"class.boost::io::ios_precision_saver"*, align 4
  store %"class.boost::io::ios_precision_saver"* %this, %"class.boost::io::ios_precision_saver"** %this.addr, align 4
  %this1 = load %"class.boost::io::ios_precision_saver"** %this.addr
  call void @_ZN5boost2io19ios_precision_saver7restoreEv(%"class.boost::io::ios_precision_saver"* %this1)
  ret void
}

define linkonce_odr void @_ZN5boost2io19ios_precision_saver7restoreEv(%"class.boost::io::ios_precision_saver"* %this) nounwind align 2 {
entry:
  %this.addr = alloca %"class.boost::io::ios_precision_saver"*, align 4
  store %"class.boost::io::ios_precision_saver"* %this, %"class.boost::io::ios_precision_saver"** %this.addr, align 4
  %this1 = load %"class.boost::io::ios_precision_saver"** %this.addr
  %s_save_ = getelementptr inbounds %"class.boost::io::ios_precision_saver"* %this1, i32 0, i32 0
  %ref = load %"class.std::ios_base"** %s_save_, align 4
  %a_save_ = getelementptr inbounds %"class.boost::io::ios_precision_saver"* %this1, i32 0, i32 1
  %0 = load i32* %a_save_, align 4
  %call = call i32 @_ZNSt8ios_base9precisionEi(%"class.std::ios_base"* %ref, i32 %0)
  ret void
}

define linkonce_odr void @_ZN5boost2io19ios_precision_saverC2ERSt8ios_base(%"class.boost::io::ios_precision_saver"* %this, %"class.std::ios_base"* %s) unnamed_addr align 2 {
entry:
  %this.addr = alloca %"class.boost::io::ios_precision_saver"*, align 4
  %s.addr = alloca %"class.std::ios_base"*, align 4
  store %"class.boost::io::ios_precision_saver"* %this, %"class.boost::io::ios_precision_saver"** %this.addr, align 4
  store %"class.std::ios_base"* %s, %"class.std::ios_base"** %s.addr, align 4
  %this1 = load %"class.boost::io::ios_precision_saver"** %this.addr
  %0 = getelementptr inbounds %"class.boost::io::ios_precision_saver"* %this1, i32 0, i32 0
  %1 = load %"class.std::ios_base"** %s.addr, align 4
  store %"class.std::ios_base"* %1, %"class.std::ios_base"** %0, align 4
  %a_save_ = getelementptr inbounds %"class.boost::io::ios_precision_saver"* %this1, i32 0, i32 1
  %2 = load %"class.std::ios_base"** %s.addr, align 4
  %call = call i32 @_ZNKSt8ios_base9precisionEv(%"class.std::ios_base"* %2)
  store i32 %call, i32* %a_save_, align 4
  ret void
}

define linkonce_odr void @_ZN5boost2io15ios_flags_saverC2ERSt8ios_baseRKSt13_Ios_Fmtflags(%"class.boost::io::ios_flags_saver"* %this, %"class.std::ios_base"* %s, i32* %a) unnamed_addr nounwind align 2 {
entry:
  %this.addr = alloca %"class.boost::io::ios_flags_saver"*, align 4
  %s.addr = alloca %"class.std::ios_base"*, align 4
  %a.addr = alloca i32*, align 4
  store %"class.boost::io::ios_flags_saver"* %this, %"class.boost::io::ios_flags_saver"** %this.addr, align 4
  store %"class.std::ios_base"* %s, %"class.std::ios_base"** %s.addr, align 4
  store i32* %a, i32** %a.addr, align 4
  %this1 = load %"class.boost::io::ios_flags_saver"** %this.addr
  %0 = getelementptr inbounds %"class.boost::io::ios_flags_saver"* %this1, i32 0, i32 0
  %1 = load %"class.std::ios_base"** %s.addr, align 4
  store %"class.std::ios_base"* %1, %"class.std::ios_base"** %0, align 4
  %a_save_ = getelementptr inbounds %"class.boost::io::ios_flags_saver"* %this1, i32 0, i32 1
  %2 = load %"class.std::ios_base"** %s.addr, align 4
  %3 = load i32** %a.addr, align 4
  %4 = load i32* %3, align 4
  %call = call i32 @_ZNSt8ios_base5flagsESt13_Ios_Fmtflags(%"class.std::ios_base"* %2, i32 %4)
  store i32 %call, i32* %a_save_, align 4
  ret void
}

define linkonce_odr void @_ZN5boost2io15ios_flags_saverD2Ev(%"class.boost::io::ios_flags_saver"* %this) unnamed_addr align 2 {
entry:
  %this.addr = alloca %"class.boost::io::ios_flags_saver"*, align 4
  store %"class.boost::io::ios_flags_saver"* %this, %"class.boost::io::ios_flags_saver"** %this.addr, align 4
  %this1 = load %"class.boost::io::ios_flags_saver"** %this.addr
  call void @_ZN5boost2io15ios_flags_saver7restoreEv(%"class.boost::io::ios_flags_saver"* %this1)
  ret void
}

define linkonce_odr void @_ZN5boost2io15ios_flags_saver7restoreEv(%"class.boost::io::ios_flags_saver"* %this) nounwind align 2 {
entry:
  %this.addr = alloca %"class.boost::io::ios_flags_saver"*, align 4
  store %"class.boost::io::ios_flags_saver"* %this, %"class.boost::io::ios_flags_saver"** %this.addr, align 4
  %this1 = load %"class.boost::io::ios_flags_saver"** %this.addr
  %s_save_ = getelementptr inbounds %"class.boost::io::ios_flags_saver"* %this1, i32 0, i32 0
  %ref = load %"class.std::ios_base"** %s_save_, align 4
  %a_save_ = getelementptr inbounds %"class.boost::io::ios_flags_saver"* %this1, i32 0, i32 1
  %0 = load i32* %a_save_, align 4
  %call = call i32 @_ZNSt8ios_base5flagsESt13_Ios_Fmtflags(%"class.std::ios_base"* %ref, i32 %0)
  ret void
}

define linkonce_odr void @_ZNSt8ios_base6unsetfESt13_Ios_Fmtflags(%"class.std::ios_base"* %this, i32 %__mask) nounwind align 2 {
entry:
  %this.addr = alloca %"class.std::ios_base"*, align 4
  %__mask.addr = alloca i32, align 4
  store %"class.std::ios_base"* %this, %"class.std::ios_base"** %this.addr, align 4
  store i32 %__mask, i32* %__mask.addr, align 4
  %this1 = load %"class.std::ios_base"** %this.addr
  %_M_flags = getelementptr inbounds %"class.std::ios_base"* %this1, i32 0, i32 3
  %0 = load i32* %__mask.addr, align 4
  %call = call i32 @_ZStcoSt13_Ios_Fmtflags(i32 %0)
  %call2 = call i32* @_ZStaNRSt13_Ios_FmtflagsS_(i32* %_M_flags, i32 %call)
  ret void
}

define linkonce_odr void @_ZN5boost2io15ios_flags_saverC2ERSt8ios_base(%"class.boost::io::ios_flags_saver"* %this, %"class.std::ios_base"* %s) unnamed_addr align 2 {
entry:
  %this.addr = alloca %"class.boost::io::ios_flags_saver"*, align 4
  %s.addr = alloca %"class.std::ios_base"*, align 4
  store %"class.boost::io::ios_flags_saver"* %this, %"class.boost::io::ios_flags_saver"** %this.addr, align 4
  store %"class.std::ios_base"* %s, %"class.std::ios_base"** %s.addr, align 4
  %this1 = load %"class.boost::io::ios_flags_saver"** %this.addr
  %0 = getelementptr inbounds %"class.boost::io::ios_flags_saver"* %this1, i32 0, i32 0
  %1 = load %"class.std::ios_base"** %s.addr, align 4
  store %"class.std::ios_base"* %1, %"class.std::ios_base"** %0, align 4
  %a_save_ = getelementptr inbounds %"class.boost::io::ios_flags_saver"* %this1, i32 0, i32 1
  %2 = load %"class.std::ios_base"** %s.addr, align 4
  %call = call i32 @_ZNKSt8ios_base5flagsEv(%"class.std::ios_base"* %2)
  store i32 %call, i32* %a_save_, align 4
  ret void
}

define linkonce_odr void @_ZN5boost9unit_test17lazy_ostream_implIRA1_KcED2Ev(%"class.boost::unit_test::lazy_ostream_impl"* %this) unnamed_addr nounwind inlinehint align 2 {
entry:
  %this.addr = alloca %"class.boost::unit_test::lazy_ostream_impl"*, align 4
  store %"class.boost::unit_test::lazy_ostream_impl"* %this, %"class.boost::unit_test::lazy_ostream_impl"** %this.addr, align 4
  %this1 = load %"class.boost::unit_test::lazy_ostream_impl"** %this.addr
  %0 = bitcast %"class.boost::unit_test::lazy_ostream_impl"* %this1 to %"class.boost::unit_test::lazy_ostream"*
  call void @_ZN5boost9unit_test12lazy_ostreamD2Ev(%"class.boost::unit_test::lazy_ostream"* %0)
  ret void
}

define linkonce_odr void @_ZN5boost9unit_test12lazy_ostreamC1Eb(%"class.boost::unit_test::lazy_ostream"* %this, i1 zeroext %empty) unnamed_addr nounwind align 2 {
entry:
  %this.addr = alloca %"class.boost::unit_test::lazy_ostream"*, align 4
  %empty.addr = alloca i8, align 1
  store %"class.boost::unit_test::lazy_ostream"* %this, %"class.boost::unit_test::lazy_ostream"** %this.addr, align 4
  %frombool = zext i1 %empty to i8
  store i8 %frombool, i8* %empty.addr, align 1
  %this1 = load %"class.boost::unit_test::lazy_ostream"** %this.addr
  %0 = load i8* %empty.addr, align 1
  %tobool = trunc i8 %0 to i1
  call void @_ZN5boost9unit_test12lazy_ostreamC2Eb(%"class.boost::unit_test::lazy_ostream"* %this1, i1 zeroext %tobool)
  ret void
}

define internal void @_GLOBAL__I_a() section ".text.startup" {
entry:
  call void @__cxx_global_var_init()
  call void @__cxx_global_var_init1()
  call void @__cxx_global_var_init2()
  ret void
}

!0 = metadata !{i32 2888986, i32 2888993}         
